Browse Source

关于StitchAttrUtil工具类的修改,能够在每个分页中处于单独的存在;另外新增时间格式的转换

wangxiaoming 6 years ago
parent
commit
dc2bb30b44

+ 5 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -125,7 +125,7 @@ public class AdminCustomerController {
 //        //获取产品集合,用于页面选择产品
 //        List<Produce> list = produceService.getProduceList();
 //        mv.addObject("produceList", list);
-//       StitchAttrUtil.setModelAndView(customer, mv, "/admin/bom/_bom_list", pagedResult);
+//        StitchAttrUtil.getSa().setModelAndView(customer, mv, "/admin/bom/_bom_list", pagedResult);
         return mv;
     }
 
@@ -608,7 +608,10 @@ public class AdminCustomerController {
         customerInfo.setVisit(null);
         customerInfo.setCustomerCommon(null);
         customerInfo.setComplaintDetectList(null);
-        StitchAttrUtil.setModelAndView(customerInfo, mv, "/admin/customer/select_customer_list", pagedResult);
+
+        StitchAttrUtil sa = StitchAttrUtil.getSa();
+        sa.addDatePro("yyyy-MM-dd","startTime","endTime");
+        sa.setModelAndView(customerInfo, mv, "/admin/customer/select_customer_list", pagedResult);
         long y = new Date().getTime();
         System.out.println("使用时间:"+(y-x));
         return mv;

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminDetectController.java

@@ -146,7 +146,7 @@ public class AdminDetectController {
 //        mv.addObject("page", result);
 //        mv.addObject("url", url.toString());
 
-        StitchAttrUtil.setModelAndView(detectInfo, mv, "/admin/detect/select_detect_list", result);
+         StitchAttrUtil.getSa().setModelAndView(detectInfo, mv, "/admin/detect/select_detect_list", result);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminPostageController.java

@@ -99,7 +99,7 @@ public class AdminPostageController {
 
         getManager(loginAdmin,pagedResult);
 
-        StitchAttrUtil.setModelAndView(postage, mv, "/admin/postage/postage_list", pagedResult);
+         StitchAttrUtil.getSa().setModelAndView(postage, mv, "/admin/postage/postage_list", pagedResult);
         return mv;
     }
 

+ 5 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSalesOrderController.java

@@ -88,7 +88,11 @@ public class AdminSalesOrderController {
         }
         List<StoreInfo> listStoreInfo = storeInfoService.listStore(new StoreInfo());
         salesOrder.setSalesOrderItemList(null);
-        StitchAttrUtil.setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
+
+        StitchAttrUtil.getSa()
+                .addDatePro("yyyy-MM-dd HH:mm:ss","startDate","endDate")
+                .setModelAndView(salesOrder, mv, "/admin/salesOrder/list_order_page", pagedResult);
+
         mv.addObject("listStoreInfo",listStoreInfo);
         return mv;
     }

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSignclosedController.java

@@ -99,7 +99,7 @@ public class AdminSignclosedController {
        /* url.append("&pageTotal=").append(total).append("&pageNO=");
         mv.addObject("page", result);
         mv.addObject("url", url.toString());*/
-        StitchAttrUtil.setModelAndView(signclosedInfo, mv, "/admin/signclosed/select_signclosed_list", result);
+         StitchAttrUtil.getSa().setModelAndView(signclosedInfo, mv, "/admin/signclosed/select_signclosed_list", result);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintMaintenanceController.java

@@ -70,7 +70,7 @@ public class ComplaintMaintenanceController {
             total = pageTotal;
             result.setPages(total);
         }
-        StitchAttrUtil.setModelAndView(complaintMaintenanceInfo, mv, "/admin/maintenance/select_maintenance_list", result);
+         StitchAttrUtil.getSa().setModelAndView(complaintMaintenanceInfo, mv, "/admin/maintenance/select_maintenance_list", result);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/customer/CustomerBasicController.java

@@ -80,7 +80,7 @@ public class CustomerBasicController {
             result.setTotal(totalNum);
         }
         mv.addObject("adminId",adminId);
-        StitchAttrUtil.setModelAndView(customerBasicInfo, mv, "/admin/customerBasic/listCustomerBasic", result);
+         StitchAttrUtil.getSa().setModelAndView(customerBasicInfo, mv, "/admin/customerBasic/listCustomerBasic", result);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachinePartsController.java

@@ -256,7 +256,7 @@ public class AdminMachinePartsController {
         List<PtsSupplier> listSupplier = machineSupplierService.listMachineSupplier();
         mv.addObject("listSupplier", listSupplier);
 
-        StitchAttrUtil.setModelAndView(ptsComponents, mv, "/admin/machineParts/_parts_list", pagedResult);
+         StitchAttrUtil.getSa().setModelAndView(ptsComponents, mv, "/admin/machineParts/_parts_list", pagedResult);
         return mv;
     }
 

+ 2 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBatchController.java

@@ -66,7 +66,8 @@ public class AdminPtsBatchController {
         if (totalNum != 0) {
             pagedResult.setTotal(totalNum);
         }
-        StitchAttrUtil.setModelAndView(ptsBatch, mv, "/admin/batch/_batch_list", pagedResult);
+
+        StitchAttrUtil.getSa().setModelAndView(ptsBatch, mv, "/admin/batch/_batch_list", pagedResult);;
 
         //获取产品集合,用于页面选择产品
         List<Produce> list = produceService.getProduceList();

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBomController.java

@@ -74,7 +74,7 @@ public class AdminPtsBomController {
         List<Produce> list = produceService.getProduceList();
         mv.addObject("produceList", list);
 
-        StitchAttrUtil.setModelAndView(ptsBom, mv, "/admin/bom/_bom_list", pagedResult);
+         StitchAttrUtil.getSa().setModelAndView(ptsBom, mv, "/admin/bom/_bom_list", pagedResult);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsEmployeeController.java

@@ -74,7 +74,7 @@ public class AdminPtsEmployeeController {
             pagedResult.setTotal(totalNum);
         }
 
-        StitchAttrUtil.setModelAndView(employee, mv, "/admin/employee/_employee_list", pagedResult);
+         StitchAttrUtil.getSa().setModelAndView(employee, mv, "/admin/employee/_employee_list", pagedResult);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsSupplierController.java

@@ -51,7 +51,7 @@ public class AdminPtsSupplierController {
         if (totalNum != 0) {
             pagedResult.setTotal(totalNum);
         }
-        StitchAttrUtil.setModelAndView(ptsSupplier, mv, "/admin/supplier/_supplier_list", pagedResult);
+         StitchAttrUtil.getSa().setModelAndView(ptsSupplier, mv, "/admin/supplier/_supplier_list", pagedResult);
         return mv;
     }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminSoftwareVersionController.java

@@ -53,7 +53,7 @@ public class AdminSoftwareVersionController {
             pagedResult.setTotal(totalNum);
         }
         mv.addObject("produceList", produceList);
-        StitchAttrUtil.setModelAndView(ptsMachineVersion, mv, "/admin/softwareVersion/_software_version_list", pagedResult);
+         StitchAttrUtil.getSa().setModelAndView(ptsMachineVersion, mv, "/admin/softwareVersion/_software_version_list", pagedResult);
         return mv;
     }
 

+ 47 - 25
watero-rst-web/src/main/java/com/iamberry/rst/utils/StitchAttrUtil.java

@@ -4,28 +4,41 @@ import com.iamberry.rst.core.page.PagedResult;
 import org.springframework.web.servlet.ModelAndView;
 
 import java.lang.reflect.Field;
-import java.text.ParsePosition;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
+/**
+ * 解决rst列表参数拼接问题
+ */
 public class StitchAttrUtil {
 
+    public static StitchAttrUtil getSa(){
+        return new StitchAttrUtil();
+    }
+
+    private StitchAttrUtil(){
+        propertySet = new HashSet<String>(Arrays.asList(noProperty));
+        timeDateSet = new HashSet<String>(Arrays.asList(timeDate));
+    };
+
     /**
      * 组装参数时,会过滤以下参数
      * 推荐使用:addNoPro(),添加过滤
      */
-    public final static String timeDate[] = {
-            "startDate",
-            "endDate"
-    };
-    public static Set<String> timeDateSet = new HashSet<String>(Arrays.asList(timeDate));
-
-    public final static String noProperty[] = {
+    private final  String timeDate[] = {};
+    /**
+     * 控制时间参数格式
+     * 推荐使用:addDatePro(),添加过滤
+     */
+    private final String noProperty[] = {
             "serialVersionUID",
             "awaitingSignclosedProductInfoList",
             "signclosedProductInfoList"
     };
-    public static Set<String> propertySet = new HashSet<String>(Arrays.asList(noProperty));
+
+    private SimpleDateFormat sdf = null;
+    private Set<String> propertySet;
+    private Set<String> timeDateSet;
 
     /**
      * 组装ModelAndView
@@ -35,7 +48,7 @@ public class StitchAttrUtil {
      * @param pagedResult
      * @throws IllegalAccessException
      */
-    public static void setModelAndView(Object object, ModelAndView modelAndView, String url, PagedResult<?> pagedResult) {
+    public void setModelAndView(Object object, ModelAndView modelAndView, String url, PagedResult<?> pagedResult) {
         StringBuilder sb = new StringBuilder(url);
 
         if(pagedResult.getTotal() != 0) {
@@ -44,10 +57,10 @@ public class StitchAttrUtil {
 
         sb.append("?pageSize=" + pagedResult.getPageSize());
         sb.append("&totalNum=" + pagedResult.getTotal() );
-        StitchAttrUtil.setUrlByObj(sb,object);
+        this.setUrlByObj(sb,object);
         sb.append("&&pageNO=");
 
-        Map<String, Object> map = StitchAttrUtil.getObjToMap(object);
+        Map<String, Object> map = this.getObjToMap(object);
         modelAndView.addAllObjects(map);
 
         modelAndView.addObject("page", pagedResult);
@@ -63,7 +76,7 @@ public class StitchAttrUtil {
      * @return
      * @throws IllegalAccessException
      */
-    public static Map<String, Object> getObjToMap(Object object) {
+    public Map<String, Object> getObjToMap(Object object) {
         Map<String, Object> map = new HashMap<>();
         Class<?> clazz = object.getClass();
         for (Field field : clazz.getDeclaredFields()) {
@@ -87,7 +100,7 @@ public class StitchAttrUtil {
      * @param object
      * @throws IllegalAccessException
      */
-    public static void setUrlByObj(StringBuilder sb,Object object){
+    public void setUrlByObj(StringBuilder sb,Object object){
         Class<?> clazz = object.getClass();
         for (Field field : clazz.getDeclaredFields()) {
             field.setAccessible(true);
@@ -98,16 +111,9 @@ public class StitchAttrUtil {
             }catch (IllegalAccessException e){
             }
             if (value != null && !propertySet.contains(fieldName)) {
-                if(timeDateSet.contains(fieldName)){
-                    //Date currentTime = new Date();
-                    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-                    String dateString = formatter.format(value);
-                    //ParsePosition pos = new ParsePosition(8);
-                    //Date currentTime = formatter.parse(dateString, pos);
-                    sb.append("&"+fieldName+ "=" + dateString);
-                }else{
-                    sb.append("&"+fieldName+ "=" + value.toString());
-                }
+                if(timeDateSet.contains(fieldName))
+                    value = sdf.format(value);
+                sb.append("&"+fieldName+ "=" + value.toString());
             }
         }
     }
@@ -116,11 +122,27 @@ public class StitchAttrUtil {
      * 添加组装时被过滤的属性名称
      * @param pros
      */
-    public static void addNoPro(String...pros){
+    public StitchAttrUtil addNoPro(String...pros){
         for(String pro : pros){
             if(pro != null && !"".equals(pro))
                 propertySet.add(pro);
         }
+        return this;
     }
 
+    /**
+     * 添加时间参数格式
+     * @param fom   //"yyyy-MM-dd HH:mm:ss"
+     * @param pros
+     */
+    public StitchAttrUtil addDatePro(String fom,String...pros){
+        sdf = new SimpleDateFormat(fom);
+        for(String pro : pros){
+            if(pro != null && !"".equals(pro))
+                timeDateSet.add(pro);
+        }
+        return this;
+    }
+
+
 }