Parcourir la source

导入判断是否数字格式

hu il y a 11 mois
Parent
commit
f3fa6396b4

+ 36 - 0
src/custom/restcontroller/webmanage/sale/itempriceadjust/ItempriceadjustItemprice.java

@@ -326,6 +326,36 @@ public class ItempriceadjustItemprice extends Controller {
                     rowserr.add(row);
                     continue;
                 }
+                if(!isNumeric(row.getString("price1"))){
+                    iserr = true;
+                    row.put("msg", "价格1不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("price2"))){
+                    iserr = true;
+                    row.put("msg", "价格2不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("price3"))){
+                    iserr = true;
+                    row.put("msg", "价格3不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("price4"))){
+                    iserr = true;
+                    row.put("msg", "价格4不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("price5"))){
+                    iserr = true;
+                    row.put("msg", "价格5不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
                 rowssuc.add(row);
 
             }
@@ -637,4 +667,10 @@ public class ItempriceadjustItemprice extends Controller {
         }
         return sheet;
     }
+    public static boolean isNumeric(String strNum) {
+        if (strNum == null) {
+            return false;
+        }
+        return strNum.matches("-?\\d+(\\.\\d+)?");
+    }
 }

+ 39 - 4
src/custom/restcontroller/webmanage/sale/order/OrderImport.java

@@ -192,8 +192,22 @@ public class OrderImport extends Controller {
                                         + sa_projectid + "' and t2.itemno='" + row.getString("itemno")
                                         + "' and t1.siteid='" + siteid + "'");
                         if (!itemsRows.isEmpty()) {
-                            row.put("itemid", itemsRows.get(0).getString("itemid"));
-                            rowssuc.add(row);
+                            if(!isNumeric(row.getString("qty"))){
+                                iserr = true;
+                                row.put("msg", "数量不为数字格式,请检查");
+                                rowserr.add(row);
+                            } else if(!isNumeric(row.getString("length"))){
+                                iserr = true;
+                                row.put("msg", "长度不为数字格式,请检查");
+                                rowserr.add(row);
+                            } else if(!isNumeric(row.getString("width"))){
+                                iserr = true;
+                                row.put("msg", "宽度不为数字格式,请检查");
+                                rowserr.add(row);
+                            }else{
+                                row.put("itemid", itemsRows.get(0).getString("itemid"));
+                                rowssuc.add(row);
+                            }
                         } else {
                             iserr = true;
                             row.put("msg", "错误信息:该报价单所属项目中不存在商品编号为" + row.getString("itemno") + "的商品");
@@ -204,8 +218,22 @@ public class OrderImport extends Controller {
                         Rows itemsRows = dbConnect.runSqlQuery("select itemid from plm_item where itemno='"
                                 + row.getString("itemno").trim() + "' and siteid='" + siteid + "'");
                         if (!itemsRows.isEmpty()) {
-                            row.put("itemid", itemsRows.get(0).getString("itemid"));
-                            rowssuc.add(row);
+                            if(!isNumeric(row.getString("qty"))){
+                                iserr = true;
+                                row.put("msg", "数量不为数字格式,请检查");
+                                rowserr.add(row);
+                            } else if(!isNumeric(row.getString("length"))){
+                                iserr = true;
+                                row.put("msg", "长度不为数字格式,请检查");
+                                rowserr.add(row);
+                            } else if(!isNumeric(row.getString("width"))){
+                                iserr = true;
+                                row.put("msg", "宽度不为数字格式,请检查");
+                                rowserr.add(row);
+                            }else{
+                                row.put("itemid", itemsRows.get(0).getString("itemid"));
+                                rowssuc.add(row);
+                            }
                         } else {
                             iserr = true;
                             row.put("msg", "错误信息:不存在商品编号为" + row.getString("itemno").trim() + "的商品");
@@ -775,4 +803,11 @@ public class OrderImport extends Controller {
 
     }
 
+    public static boolean isNumeric(String strNum) {
+        if (strNum == null) {
+            return false;
+        }
+        return strNum.matches("-?\\d+(\\.\\d+)?");
+    }
+
 }

+ 36 - 0
src/custom/restcontroller/webmanage/sale/promotion/promotionItems.java

@@ -468,6 +468,36 @@ public class promotionItems extends Controller {
                     rowserr.add(row);
                     continue;
                 }
+                if(!isNumeric(price1)){
+                    iserr = true;
+                    row.put("msg", "促销价格1不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(price2)){
+                    iserr = true;
+                    row.put("msg", "促销价格2不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(price3)){
+                    iserr = true;
+                    row.put("msg", "促销价格3不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(price4)){
+                    iserr = true;
+                    row.put("msg", "促销价格4不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(price5)){
+                    iserr = true;
+                    row.put("msg", "促销价格5不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
                 Row item = itemRowsMap.get(itemno).get(0);
                 row.put("itemid", item.getLong("itemid"));
                 if (StringUtils.isEmpty(orderminqty) || (new BigDecimal(orderminqty)).compareTo(BigDecimal.ZERO)==0) {
@@ -641,4 +671,10 @@ public class promotionItems extends Controller {
         }
         return sheet;
     }
+    public static boolean isNumeric(String strNum) {
+        if (strNum == null) {
+            return false;
+        }
+        return strNum.matches("-?\\d+(\\.\\d+)?");
+    }
 }

+ 47 - 4
src/custom/restcontroller/webmanage/sale/salestarget/enterprisetarget.java

@@ -533,7 +533,7 @@ public class enterprisetarget extends Controller {
             String sql = sqlFactory.getSQL();
              System.out.println(sql);
             RowsMap agentRowsMap = dbConnect.runSqlQuery(sql).toRowsMap("agentnum");
-
+            String[] types = {"年", "季", "月"};
             boolean iserr = false;
             Rows rowserr = new Rows();
             Rows rowssuc = new Rows();
@@ -545,8 +545,45 @@ public class enterprisetarget extends Controller {
                 } else {
                     Rows userRows = agentRowsMap.get(row.getString("name"));
                     if (userRows.isNotEmpty()) {
-                        row.putAll(userRows.get(0));
-                        rowssuc.add(row);
+                        for (String type : types) {
+                            int point;
+                            if (type.equals("年")) {
+                                point = 1;
+                            } else if (type.equals("季")) {
+                                point = 4;
+                            } else if (type.equals("月")) {
+                                point = 12;
+                            } else {
+                                point = 0;
+                            }
+
+                            for (int i = 0; i < point; i++) {
+                                double target_l = 0L;
+                                double target_h = 0L;
+                                if (type.equals("年")) {
+                                    if(!isNumeric(row.getString("y1l"))){
+                                        iserr = true;
+                                        row.put("msg", "年度目标不为数字格式,请检查");
+                                        rowserr.add(row);
+                                    }
+                                }else if (type.equals("季")) {
+                                    if(!isNumeric(row.getString("s" + (i + 1) + "l"))){
+                                        iserr = true;
+                                        row.put("msg", "第"+(i + 1)+"季度目标不为数字格式,请检查");
+                                        rowserr.add(row);
+                                    }
+                                }else if (type.equals("月")) {
+                                    if(!isNumeric(row.getString("m" + (i + 1) + "l"))){
+                                        iserr = true;
+                                        row.put("msg", "第"+(i + 1)+"月度目标不为数字格式,请检查");
+                                        rowserr.add(row);
+                                    }
+                                }else{
+                                    row.putAll(userRows.get(0));
+                                    rowssuc.add(row);
+                                }
+                            }
+                        }
                     } else {
                         iserr = true;
                         row.put("msg", "错误信息:数据已导入或经销商不在数据库中");
@@ -557,7 +594,6 @@ public class enterprisetarget extends Controller {
 
             }
 
-            String[] types = {"年", "季", "月"};
 
             long[] ids = createTableID("sa_salestarget", rowssuc.size() * 17);
             int index = 1;
@@ -805,4 +841,11 @@ public class enterprisetarget extends Controller {
         BigDecimal bigDecimal = new BigDecimal(c);
         return bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
     }
+
+    public static boolean isNumeric(String strNum) {
+        if (strNum == null) {
+            return false;
+        }
+        return strNum.matches("-?\\d+(\\.\\d+)?");
+    }
 }

+ 47 - 5
src/custom/restcontroller/webmanage/sale/salestarget/personnel.java

@@ -480,7 +480,7 @@ public class personnel extends Controller {
             sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
             String sql = sqlFactory.getSQL();
             RowsMap areaRowsMap = dbConnect.runSqlQuery(sql).toRowsMap("areaname");
-
+            String[] types = {"年", "季", "月"};
             boolean iserr = false;
             Rows rowserr = new Rows();
             Rows rowssuc = new Rows();
@@ -494,8 +494,45 @@ public class personnel extends Controller {
                 } else {
                         Rows userRows = areaRowsMap.get(row.getString("name"));
                         if (userRows.isNotEmpty()) {
-                            row.putAll(userRows.get(0));
-                            rowssuc.add(row);
+                            for (String type : types) {
+                                int point;
+                                if (type.equals("年")) {
+                                    point = 1;
+                                } else if (type.equals("季")) {
+                                    point = 4;
+                                } else if (type.equals("月")) {
+                                    point = 12;
+                                } else {
+                                    point = 0;
+                                }
+
+                                for (int i = 0; i < point; i++) {
+                                    double target_l = 0L;
+                                    double target_h = 0L;
+                                    if (type.equals("年")) {
+                                        if(!isNumeric(row.getString("y1l"))){
+                                            iserr = true;
+                                            row.put("msg", "年度目标不为数字格式,请检查");
+                                            rowserr.add(row);
+                                        }
+                                    }else if (type.equals("季")) {
+                                        if(!isNumeric(row.getString("s" + (i + 1) + "l"))){
+                                            iserr = true;
+                                            row.put("msg", "第"+(i + 1)+"季度目标不为数字格式,请检查");
+                                            rowserr.add(row);
+                                        }
+                                    }else if (type.equals("月")) {
+                                        if(!isNumeric(row.getString("m" + (i + 1) + "l"))){
+                                            iserr = true;
+                                            row.put("msg", "第"+(i + 1)+"月度目标不为数字格式,请检查");
+                                            rowserr.add(row);
+                                        }
+                                    }else{
+                                        row.putAll(userRows.get(0));
+                                        rowssuc.add(row);
+                                    }
+                                }
+                            }
                         } else {
                             iserr = true;
                             row.put("msg", "错误信息:数据已导入或区域不在数据库中");
@@ -506,7 +543,7 @@ public class personnel extends Controller {
 
             }
 
-            String[] types = {"年", "季", "月"};
+
 
             long[] ids = createTableID("sa_salestarget", rowssuc.size() * 17);
             int index = 1;
@@ -681,5 +718,10 @@ public class personnel extends Controller {
         return sheet;
     }
 
-
+    public static boolean isNumeric(String strNum) {
+        if (strNum == null) {
+            return false;
+        }
+        return strNum.matches("-?\\d+(\\.\\d+)?");
+    }
 }