Explorar o código

保修卡逻辑

hu hai 3 meses
pai
achega
a0ef726de5

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

@@ -426,6 +426,12 @@ public class serviceorder extends Controller {
             if (whereObject.containsKey("phonenumber") && !"".equals(whereObject.getString("phonenumber"))) {
                 where.append(" and t1.scenecontactphonenumber ='").append(whereObject.getString("phonenumber")).append("'");
             }
+            if (whereObject.containsKey("customerphonenumber") && !"".equals(whereObject.getString("customerphonenumber"))) {
+                where.append(" and t1.phonenumber ='").append(whereObject.getString("customerphonenumber")).append("'");
+            }
+            if (whereObject.containsKey("sa_customersid") && !"".equals(whereObject.getString("sa_customersid"))) {
+                where.append(" and t1.sa_customersid ='").append(whereObject.getString("sa_customersid")).append("'");
+            }
         }
         SQLFactory sqlFactory = new SQLFactory(this, "服务申请单列表查询");
         sqlFactory.addParameter("siteid", siteid);

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

@@ -53,6 +53,11 @@ public class warrantycard extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t2.sys_enterpriseid = t3.sys_enterpriseid AND t2.siteid = t3.siteid", "abbreviation", "enterprisename", "sys_enterpriseid");
         querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t4", "t1.itemid = t4.itemid AND t1.siteid = t4.siteid", "itemno", "itemname", "model", "spec", "topclassnum");
         querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t5", "t5.unitid = t4.unitid AND t5.siteid = t4.siteid", "unitname");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t6", "t1.toagentnum = t6.agentnum AND t1.siteid = t6.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t7", "t7.sys_enterpriseid = t6.sys_enterpriseid AND t7.siteid = t6.siteid");
+        querySQL.addQueryFields("toabbreviation","t7.abbreviation");
+        querySQL.addQueryFields("toenterprisename","t7.enterprisename");
+
         querySQL.setSiteid(siteid);
         querySQL.setWhere(where.toString());
         querySQL.setPage(pageSize, pageNumber);
@@ -96,6 +101,10 @@ public class warrantycard extends Controller {
         querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t5", "t5.unitid = t4.unitid AND t5.siteid = t4.siteid", "unitname");
         querySQL.addJoinTable(JOINTYPE.left, "plm_itemclass", "t6", "t6.itemclassid = t4.marketingcategory AND t6.siteid = t4.siteid");
         querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise_tradefield ", "t8", "t8.sys_enterpriseid = t3.sys_enterpriseid AND t8.siteid = t3.siteid", "sa_saleareaid");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t9", "t1.toagentnum = t9.agentnum AND t1.siteid = t9.siteid");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t10", "t10.sys_enterpriseid = t9.sys_enterpriseid AND t10.siteid = t9.siteid");
+        querySQL.addQueryFields("toabbreviation","t10.abbreviation");
+        querySQL.addQueryFields("toenterprisename","t10.enterprisename");
 
         querySQL.addQueryFields("topclassname", "t6.itemclassname");
         querySQL.setSiteid(siteid);

+ 22 - 4
src/custom/restcontroller/webmanage/sale/workorder/workorder.java

@@ -972,14 +972,23 @@ public class workorder extends Controller {
         }
 
         if(rows.get(0).getString("type").equals("安装")){
-            Rows itemrows =dbConnect.runSqlQuery("select t3.sa_customersid,t3.name,t3.phonenumber,t3.province,t3.city,t3.county,t3.address,t1.sku,ifnull(t2.warrantyday,0) warrantyday,t4.sa_agentsid,t3.sys_enterpriseid from sa_serviceorderitems t1 inner join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid left join sa_serviceorder t3 on t1.sa_serviceorderid=t3.sa_serviceorderid and t1.siteid=t3.siteid left join sa_agents t4 on t3.sys_enterpriseid=t4.sys_enterpriseid and t3.siteid=t4.siteid where t1.sa_serviceorderid="+rows.get(0).getLong("sa_serviceorderid")+" and t1.siteid='"+siteid+"' ");
+            Rows itemrows =dbConnect.runSqlQuery("select t3.sa_customersid,t5.sa_agentsid customeragentsid,t3.name,t3.phonenumber,t3.province,t3.city,t3.county,t3.address,t1.sku,ifnull(t2.warrantyday,0) warrantyday,t4.sa_agentsid,t3.sys_enterpriseid,t6.sa_agentsid sa_agentsid_to,t6.agentnum toagentnum from sa_serviceorderitems t1 " +
+                    " inner join plm_item t2 on t1.itemid=t2.itemid and t1.siteid=t2.siteid " +
+                    " left join sa_serviceorder t3 on t1.sa_serviceorderid=t3.sa_serviceorderid and t1.siteid=t3.siteid " +
+                    " left join sa_agents t4 on t3.sys_enterpriseid=t4.sys_enterpriseid and t3.siteid=t4.siteid " +
+                    " left join sa_customers t5 on t5.sa_customersid=t3.sa_customersid and t5.siteid=t3.siteid " +
+                    " left join sa_agents t6 on t3.sys_enterpriseid_service=t6.sys_enterpriseid and t3.siteid=t6.siteid " +
+                    "where t1.sa_serviceorderid="+rows.get(0).getLong("sa_serviceorderid")+" and t1.siteid='"+siteid+"' ");
 
             if(itemrows.isNotEmpty()){
 
                 //判断客户id
                 long sa_customersid=0;
+                //判断客户id对应的经销商id
+                long customeragentsid=0;
                 if(itemrows.get(0).getLong("sa_customersid")!=0){
                     sa_customersid=itemrows.get(0).getLong("sa_customersid");
+                    customeragentsid=itemrows.get(0).getLong("customeragentsid");
                 }else if(false){
                     //查询序列号是否有客户id(通过crm门店出库单中间表查询)待更新
                 }else{
@@ -987,7 +996,14 @@ public class workorder extends Controller {
                     sa_customersid=createTableID("sa_customers");
                     insertSQL.setUniqueid(sa_customersid);
                     insertSQL.setSiteid(siteid);
-                    insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid"));
+                    if(itemrows.get(0).getLong("sa_agentsid")==0){
+                        insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid_to"));
+                        customeragentsid=itemrows.get(0).getLong("sa_agentsid_to");
+                    }else{
+                        insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid"));
+                        customeragentsid=itemrows.get(0).getLong("sa_agentsid");
+                    }
+                    insertSQL.setValue("sa_agentsid_to", itemrows.get(0).getLong("sa_agentsid_to"));
                     insertSQL.setValue("name",itemrows.get(0).getString("name"));
                     insertSQL.setValue("phonenumber",itemrows.get(0).getString("phonenumber"));
                     insertSQL.setValue("province",itemrows.get(0).getString("province"));
@@ -1012,8 +1028,10 @@ public class workorder extends Controller {
                 InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_warrantycard");
                 insertSQL.setUniqueid(createTableID("sa_warrantycard"));
                 insertSQL.setSiteid(siteid);
-                insertSQL.setValue("sa_agentsid", itemrows.get(0).getLong("sa_agentsid"));
-                insertSQL.setValue("cardno", "");
+                insertSQL.setValue("sa_agentsid",customeragentsid);
+                insertSQL.setValue("toagentnum",itemrows.get(0).getLong("toagentnum"));
+
+                insertSQL.setValue("cardno", createBillCode("warrantycard"));
                 insertSQL.setValue("sa_customersid",sa_customersid);
                 insertSQL.setValue("enddate", formattedDate);
                 insertSQL.setValue("begdate", getDateTime_Str());