shenjingwei 8 месяцев назад
Родитель
Сommit
c36371098b
1 измененных файлов с 41 добавлено и 34 удалено
  1. 41 34
      src/custom/restcontroller/webmanage/sale/warrantycard/warrantycard.java

+ 41 - 34
src/custom/restcontroller/webmanage/sale/warrantycard/warrantycard.java

@@ -24,56 +24,63 @@ public class warrantycard extends Controller {
     @CACHEING
     public String queryWarrantycardList() throws YosException {
         StringBuffer where = new StringBuffer(" 1=1 ");
-        if(sys_enterpriseid>0){
-            where.append(" and t3.sys_enterpriseid ='" + sys_enterpriseid+"' ");
+        if (sys_enterpriseid > 0) {
+            where.append(" and t3.sys_enterpriseid ='" + sys_enterpriseid + "' ");
         }
         if (content.containsKey("where")) {
             JSONObject whereObject = content.getJSONObject("where");
             if (whereObject.containsKey("bxksbegindate") && !"".equals(whereObject.getString("bxksbegindate"))) {
-                where.append(" and DATE_FORMAT(t1.begdate, '%Y-%m-%d') >='" + whereObject.getString("bxksbegindate")+"' ");
+                where.append(" and DATE_FORMAT(t1.begdate, '%Y-%m-%d') >='" + whereObject.getString("bxksbegindate") + "' ");
             }
             if (whereObject.containsKey("bxksenddate") && !"".equals(whereObject.getString("bxksenddate"))) {
-                where.append(" and DATE_FORMAT(t1.begdate, '%Y-%m-%d') <='" + whereObject.getString("bxksenddate")+"' ");
+                where.append(" and DATE_FORMAT(t1.begdate, '%Y-%m-%d') <='" + whereObject.getString("bxksenddate") + "' ");
             }
             if (whereObject.containsKey("bxjzbegindate") && !"".equals(whereObject.getString("bxjzbegindate"))) {
-                where.append(" and DATE_FORMAT(t1.enddate, '%Y-%m-%d') >='" + whereObject.getString("bxjzbegindate")+"' ");
+                where.append(" and DATE_FORMAT(t1.enddate, '%Y-%m-%d') >='" + whereObject.getString("bxjzbegindate") + "' ");
             }
             if (whereObject.containsKey("bxjzenddate") && !"".equals(whereObject.getString("bxjzenddate"))) {
-                where.append(" and DATE_FORMAT(t1.enddate, '%Y-%m-%d') <='" + whereObject.getString("bxjzenddate")+"' ");
+                where.append(" and DATE_FORMAT(t1.enddate, '%Y-%m-%d') <='" + whereObject.getString("bxjzenddate") + "' ");
             }
             if (whereObject.containsKey("sku") && !"".equals(whereObject.getString("sku"))) {
-                where.append(" and t1.sku ='" + whereObject.getString("sku")+"' ");
+                where.append(" and t1.sku ='" + whereObject.getString("sku") + "' ");
             }
         }
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_warrantycard", "*");
         querySQL.setAsyncRowCount(true);//设置为延迟查询总行数
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t2", "t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid","agentnum");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t2.sys_enterpriseid = t3.sys_enterpriseid AND t2.siteid = t3.siteid","abbreviation","enterprisename");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t4", "t1.itemid = t4.itemid AND t1.siteid = t4.siteid","itemno","itemname","model",
-                "spec");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t5", "t5.unitid = t4.unitid AND t5.siteid = t4.siteid","unitname");
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t2", "t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid", "agentnum");
+        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");
+        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, "(select sys_enterpriseid,siteid,max(sa_saleareaid) sa_saleareaid from sys_enterprise_tradefield group by sys_enterpriseid,siteid) ", "t8", "t8.sys_enterpriseid = t3.sys_enterpriseid AND t8.siteid = t3.siteid","sa_saleareaid");
 
-        querySQL.addQueryFields("topclassname","t6.itemclassname");
+        querySQL.addQueryFields("topclassname", "t6.itemclassname");
         querySQL.setSiteid(siteid);
         querySQL.setWhere(where.toString());
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
 
+        QuerySQL tradefieldQuery = SQLFactory.createQuerySQL(this, "sys_enterprise_tradefield", "sys_enterpriseid");
+        tradefieldQuery.addQueryFields("sa_saleareaid", "max(sa_saleareaid)");
+        tradefieldQuery.setWhere("sys_enterpriseid", rows.toArrayList("sys_enterpriseid"));
+        RowsMap tradefieldRowsMap = tradefieldQuery.query().toRowsMap("sys_enterpriseid");
+
         SQLFactory sqlFactory = new SQLFactory(new salearea(new JSONObject()), "业务员列表查询");
         sqlFactory.addParameter("siteid", siteid);
         sqlFactory.addParameter_in("sa_saleareaid", rows.toArrayList("sa_saleareaid"));
         sqlFactory.addParameter_SQL("where", " 1=1 ");
         Rows ywyRows = dbConnect.runSqlQuery(sqlFactory);
         RowsMap ywyRowsMap = ywyRows.toRowsMap("sa_saleareaid");
-        for (Row row :rows){
-            if(ywyRowsMap.containsKey(row.getString("sa_saleareaid"))){
-                row.put("qyjl",ywyRowsMap.get(row.getString("sa_saleareaid")));
-            }
 
+        for (Row row : rows) {
+            long sys_enterpriseid = row.getLong("sys_enterpriseid");
+            if (tradefieldRowsMap.containsKey(String.valueOf(sys_enterpriseid))) {
+                long sa_saleareaid = tradefieldRowsMap.get(String.valueOf(sys_enterpriseid)).get(0).getLong("sa_saleareaid");
+                if (ywyRowsMap.containsKey(String.valueOf(sa_saleareaid))) {
+                    row.put("qyjl", ywyRowsMap.get(String.valueOf(sa_saleareaid)));
+                }
+            }
         }
         return getSucReturnObject().setData(rows).toString();
     }
@@ -81,20 +88,20 @@ public class warrantycard extends Controller {
     @API(title = "保修卡详情查询", apiversion = R.ID2025061715162103.v1.class)
     @CACHEING
     public String queryWarrantycardMain() throws YosException {
-        long sa_warrantycardid =content.getLong("sa_warrantycardid");
+        long sa_warrantycardid = content.getLong("sa_warrantycardid");
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_warrantycard", "*");
         querySQL.setTableAlias("t1");
-        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t2", "t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid","agentnum");
-        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t2.sys_enterpriseid = t3.sys_enterpriseid AND t2.siteid = t3.siteid","abbreviation","enterprisename");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t4", "t1.itemid = t4.itemid AND t1.siteid = t4.siteid","itemno","itemname","model",
+        querySQL.addJoinTable(JOINTYPE.left, "sa_agents", "t2", "t1.sa_agentsid = t2.sa_agentsid AND t1.siteid = t2.siteid", "agentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t3", "t2.sys_enterpriseid = t3.sys_enterpriseid AND t2.siteid = t3.siteid", "abbreviation", "enterprisename");
+        querySQL.addJoinTable(JOINTYPE.left, "plm_item", "t4", "t1.itemid = t4.itemid AND t1.siteid = t4.siteid", "itemno", "itemname", "model",
                 "spec");
-        querySQL.addJoinTable(JOINTYPE.left, "plm_unit", "t5", "t5.unitid = t4.unitid AND t5.siteid = t4.siteid","unitname");
+        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, "sys_enterprise_tradefield ", "t8", "t8.sys_enterpriseid = t3.sys_enterpriseid AND t8.siteid = t3.siteid", "sa_saleareaid");
 
-        querySQL.addQueryFields("topclassname","t6.itemclassname");
+        querySQL.addQueryFields("topclassname", "t6.itemclassname");
         querySQL.setSiteid(siteid);
-        querySQL.setWhere("t1.sa_warrantycardid",sa_warrantycardid);
+        querySQL.setWhere("t1.sa_warrantycardid", sa_warrantycardid);
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();
         return getSucReturnObject().setData(rows).toString();
@@ -103,19 +110,19 @@ public class warrantycard extends Controller {
     @API(title = "保修日期调整", apiversion = R.ID2025061715184803.v1.class)
     @CACHEING_CLEAN(apiClass = {warrantycard.class})
     public String updatedate() throws YosException {
-        long sa_warrantycardid =content.getLong("sa_warrantycardid");
-        String begindate =content.getString("begindate");
+        long sa_warrantycardid = content.getLong("sa_warrantycardid");
+        String begindate = content.getString("begindate");
         Rows rows = dbConnect.runSqlQuery("select itemid from sa_warrantycard where siteid='" + siteid
-                        + "' and sa_warrantycardid='" + sa_warrantycardid + "'");
+                + "' and sa_warrantycardid='" + sa_warrantycardid + "'");
 
         if (rows.isEmpty()) {
             return getErrReturnObject().setErrMsg("保修卡不存在").toString();
         }
-        Rows itemRows= dbConnect.runSqlQuery("select * from plm_item where siteid='"+siteid+"' and itemid="+rows.get(0).getLong("itemid"));
-        if(itemRows.isEmpty()){
+        Rows itemRows = dbConnect.runSqlQuery("select * from plm_item where siteid='" + siteid + "' and itemid=" + rows.get(0).getLong("itemid"));
+        if (itemRows.isEmpty()) {
             return getErrReturnObject().setErrMsg("该保修卡对应商品不存在").toString();
         }
-        long warrantyday =itemRows.get(0).getLong("warrantyday");
+        long warrantyday = itemRows.get(0).getLong("warrantyday");
         // 定义日期格式
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
 
@@ -127,8 +134,8 @@ public class warrantycard extends Controller {
         UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_warrantycard");
         updateSQL.setUniqueid(sa_warrantycardid);
         updateSQL.setSiteid(siteid);
-        updateSQL.setValue("begdate",begindate);
-        updateSQL.setValue("enddate",newDate.toString());
+        updateSQL.setValue("begdate", begindate);
+        updateSQL.setValue("enddate", newDate.toString());
         updateSQL.setValue("changeuserid", userid);
         updateSQL.setValue("changeby", username);
         updateSQL.setDateValue("changedate");