Browse Source

季度价格系数模块

hu 3 days ago
parent
commit
4fd8c62e96

+ 0 - 6
WEB-INF/web.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
-         version="4.0">
-</web-app>

+ 1 - 1
pom.xml

@@ -61,7 +61,7 @@
         <dependency>
             <groupId>com.yunlian.yos</groupId>
             <artifactId>yos-core</artifactId>
-            <version>3.0.0</version>
+            <version>3.0.2</version>
         </dependency>
 
 <!--        <dependency>-->

+ 0 - 35
src/custom/objectregister/plm_item.java

@@ -1,35 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class plm_item implements YosObject {
-    @Override
-    public String table_comment() {
-        return "货品档案表";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("itemid", "数据ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-
-        arrayList.add(new IntCol("cheekschemeid", "工艺定义方案id(德莱宝)", "工艺定义方案id(德莱宝)", true, false, false, 1));
-        arrayList.add(new IntCol("colorschemeid", "颜色定义方案id(德莱宝)", "颜色定义方案id(德莱宝)", true, false, false, 1));
-        arrayList.add(new IntCol("materialschemeid", "选项定义方案id(德莱宝)", "选项定义方案id(德莱宝)", true, false, false, 1));
-
-        return arrayList;
-    }
-}

+ 0 - 31
src/custom/objectregister/sa_agentdecorationtrebate.java

@@ -1,31 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_agentdecorationtrebate implements YosObject {
-    @Override
-    public String table_comment() {
-        return "经销商装修补贴返利";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_agentdecorationtrebateid", "经销商装修补贴返利ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-        arrayList.add(new BigIntCol("oldid", "原系统数据ID","原系统数据ID",true,false,false,1));
-        return arrayList;
-    }
-}

+ 0 - 44
src/custom/objectregister/sa_order_cost.java

@@ -1,44 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_order_cost implements YosObject {
-    @Override
-    public String table_comment() {
-        return "销售订单费用明细表";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_order_costid", "数据ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-        arrayList.add(new VarcharCol("siteid", "站点ID", "站点ID", 50, false, false, false, "", 1));
-        arrayList.add(new VarcharCol("remarks", "备注说明", "备注说明", 500, true, false, false, "", 2));
-        arrayList.add(new DecimalCol("costamount", "费用金额", 16, 2, 0));
-        arrayList.add(new VarcharCol("functionname", "函数名称", "函数名称", 50, false, false, false, "", 3));
-        arrayList.add(new BigIntCol("sys_datafunctionid", "执行函数ID", "执行函数ID", false, false, false, 1, 4));
-        arrayList.add(new BigIntCol("itemid", "货品档案表ID"));
-        arrayList.add(new BigIntCol("sa_orderitemsid", "销售订单商品明细表ID"));
-        arrayList.add(new BigIntCol("sa_orderid", "销售订单ID"));
-        arrayList.add(new BigIntCol("createuserid", "创建人账号ID"));
-        arrayList.add(new VarcharCol("createby", "创建人", 50));
-        arrayList.add(new DateTimeCol("createdate", "创建时间"));
-        arrayList.add(new BigIntCol("changeuserid", "修改人账号ID"));
-        arrayList.add(new VarcharCol("changeby", "修改人", 50));
-        arrayList.add(new DateTimeCol("changedate", "修改时间"));
-        return arrayList;
-    }
-}

+ 0 - 34
src/custom/objectregister/sa_orderitems.java

@@ -1,34 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_orderitems implements YosObject {
-    @Override
-    public String table_comment() {
-        return "销售订单商品明细表";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_orderitemsid", "数据ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-
-        arrayList.add(new VarcharCol("spec", "规格", "规格", 500, true, false, false, "", 1));
-
-
-        return arrayList;
-    }
-}

+ 0 - 31
src/custom/objectregister/sa_promotion_itemgroup.java

@@ -1,31 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_promotion_itemgroup implements YosObject {
-    @Override
-    public String table_comment() {
-        return "促销方案商品组表(组合模块)";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_promotion_itemgroupid", "促销方案商品组表(组合模块)ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-        arrayList.add(new BigIntCol("oldid", "原系统数据ID","原系统数据ID",true,false,false,1));
-        return arrayList;
-    }
-}

+ 0 - 32
src/custom/objectregister/sa_rebatescheme.java

@@ -1,32 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_rebatescheme implements YosObject {
-    @Override
-    public String table_comment() {
-        return "装修返利方案";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_rebateschemeid", "装修返利方案ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-        arrayList.add(new BigIntCol("sa_accountclassid", "营销账户类型ID"));
-        arrayList.add(new SmallIntCol("isused", "是否启用","是否启用",true,false,false,0,0));
-        return arrayList;
-    }
-}

+ 0 - 34
src/custom/objectregister/sa_shoppingcart.java

@@ -1,34 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_shoppingcart implements YosObject {
-    @Override
-    public String table_comment() {
-        return "购物车";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_shoppingcartid", "购物车ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-        arrayList.add(new VarcharCol("cheek", "工艺", "工艺", 100, true, false, false, "", 1));
-        arrayList.add(new VarcharCol("colors", "颜色", "颜色", 100, true, false, false, "", 2));
-        arrayList.add(new VarcharCol("material", "选项", "选项", 100, true, false, false, "", 3));
-
-        return arrayList;
-    }
-}

+ 0 - 34
src/custom/objectregister/sa_sizecustomizedscheme.java

@@ -1,34 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sa_sizecustomizedscheme implements YosObject {
-    @Override
-    public String table_comment() {
-        return "尺寸定制方案";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sa_sizecustomizedschemeid", "尺寸定制方案ID");
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-
-        arrayList.add(new VarcharCol("valuetype", "值类型", "值类型", 50, true, false, false, "数字", 1));
-
-
-        return arrayList;
-    }
-}

+ 0 - 40
src/custom/objectregister/sys_site_parameter.java

@@ -1,40 +0,0 @@
-package objectregister;
-
-import common.YosException;
-import common.data.db.initialization.base.YosObject;
-import common.data.db.initialization.base.YosObjectCol;
-
-import java.util.ArrayList;
-
-public class sys_site_parameter implements YosObject {
-    @Override
-    public String table_comment() {
-        return "站点参数设置";
-    }
-
-    @Override
-    public UniqueCol uniquecolumn() {
-        return new UniqueCol("sys_site_parameterid", "数据ID");
-    }
-
-    @Override
-    public ArrayList<YosObjectCol> table_cols() {
-        ArrayList<YosObjectCol> arrayList = new ArrayList<>();
-        arrayList.add(new SmallIntCol("sys_payswitch", "系统付费开关", 0));
-        arrayList.add(new IntCol("sys_payincidence", "付费影响范围(付费类型)1,按账号,2按主体", 1));
-        arrayList.add(new IntCol("sys_trialperiod", "系统试用时间(月份)", 0));
-        arrayList.add(new VarcharCol("sys_payinstructions", "付费说明", 500));
-        arrayList.add(new IntCol("sys_payremind", "到期提醒天数,0不提醒", 0));
-        arrayList.add(new IntCol("password_validityperiod", "密码有效期,到期后将提醒用户进行密码修改,0表示不控制", 0));
-        arrayList.add(new VarcharCol("accountprefix", "账号前缀", 50));
-        arrayList.add(new DecimalCol("order_rebate_userate", "订单返利使用默认比例","订单返利使用默认比例", 16,2,true,false,1));
-        arrayList.add(new SmallIntCol("isrebate", "是否自动返利结算", "是否自动返利结算",true,false,true,0,1));
-        arrayList.add(new VarcharCol("erp_url", "erp地址", "erp地址", 500, true, false, false, "", 1));
-        return arrayList;
-    }
-
-    @Override
-    public void DataInit() throws YosException {
-
-    }
-}

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

@@ -5653,6 +5653,45 @@ public class R {
         }
     }
 
+    public static class ID2025020710433903 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020710553803 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020710554503 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020711034703 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020711080903 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020713110003 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020713403803 {
+        public static class v1 {
+        }
+    }
+
+    public static class ID2025020713405203 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 277 - 0
src/custom/restcontroller/webmanage/sale/item/ExportpricePriceNumExcel.java

@@ -0,0 +1,277 @@
+package restcontroller.webmanage.sale.item;
+
+
+import org.apache.poi.ss.usermodel.BorderStyle;
+import org.apache.poi.ss.usermodel.FillPatternType;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.usermodel.*;
+
+import java.awt.*;
+
+public class ExportpricePriceNumExcel {
+    /**
+     * 设置标题单元样式
+     *
+     * @param workbook
+     * @return
+     */
+    public static XSSFCellStyle createTitleCellStyle1(XSSFWorkbook workbook) {
+        XSSFCellStyle cellStyle = workbook.createCellStyle();
+        XSSFFont font = workbook.createFont();
+        font.setFontHeightInPoints((short) 12);
+        font.setColor(IndexedColors.RED.getIndex());
+        font.setFontName("微软雅黑");// 设置标题字体
+        cellStyle.setFont(font);
+        cellStyle.setWrapText(true);  //自动换行
+        cellStyle = workbook.createCellStyle();
+        cellStyle.setFont(font);// 设置列标题样式
+        XSSFColor colorBlue = new XSSFColor(new Color(48, 84, 150));
+        cellStyle.setFillForegroundColor(colorBlue);
+        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+        cellStyle.setAlignment(HorizontalAlignment.CENTER); // 居中
+        return cellStyle;
+    }
+
+    /**
+     * 设置中文提示信息样式
+     *
+     * @param workbook
+     * @return
+     */
+    public static XSSFCellStyle createTitleCellStyle2(XSSFWorkbook workbook) {
+        XSSFCellStyle cellStyle = workbook.createCellStyle();
+        XSSFFont font = workbook.createFont();
+        font.setFontHeightInPoints((short) 12);
+        font.setColor(IndexedColors.RED.getIndex());
+        font.setFontName("微软雅黑");// 设置标题字体
+        cellStyle.setFont(font);
+        cellStyle.setWrapText(true);  //自动换行
+        cellStyle = workbook.createCellStyle();
+        cellStyle.setFont(font);// 设置列标题样式
+        XSSFColor colorGrey = new XSSFColor(new Color(217, 225, 242));
+        cellStyle.setFillForegroundColor(colorGrey);
+        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+        cellStyle.setAlignment(HorizontalAlignment.LEFT); // 居左
+        return cellStyle;
+    }
+
+    /**
+     * 设置正文单元样式
+     *
+     * @param workbook
+     * @return
+     */
+    public static XSSFCellStyle createBodyCellStyle4(XSSFWorkbook workbook) {
+        XSSFCellStyle cellStyle = workbook.createCellStyle();
+        XSSFFont font = workbook.createFont();
+        font.setFontHeightInPoints((short) 12);
+        font.setFontName("微软雅黑");// 设置标题字体
+        // font.setFontName(HSSFFont.FONT_ARIAL);// 设置标题字体
+        cellStyle.setFont(font);
+        cellStyle = workbook.createCellStyle();
+        cellStyle.setAlignment(HorizontalAlignment.CENTER);
+        return cellStyle;
+    }
+
+    public static XSSFCellStyle createTitleCellStyle3(XSSFWorkbook workbook) {
+        XSSFCellStyle cellStyle = workbook.createCellStyle();
+        XSSFFont font = workbook.createFont();
+        font.setFontHeightInPoints((short) 12);
+        font.setColor(IndexedColors.WHITE.getIndex());
+        font.setFontName("微软雅黑");// 设置标题字体
+        cellStyle.setFont(font);
+        cellStyle.setWrapText(true);  //自动换行
+        cellStyle = workbook.createCellStyle();
+        cellStyle.setFont(font);// 设置列标题样式
+        XSSFColor colorBlue = new XSSFColor(new Color(48, 84, 150));
+        cellStyle.setFillForegroundColor(colorBlue);
+        cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
+        cellStyle.setAlignment(HorizontalAlignment.CENTER); // 居中
+        return cellStyle;
+    }
+
+    /**
+     * 2022-07-14 17:41:39
+     * 设置表格宽度(导入模板)
+     **/
+    public static void setBatchDetailSheetColumn1(XSSFSheet sheet) {
+        sheet.setDefaultRowHeight((short) 600);
+        sheet.setColumnWidth((short) 0, (short) 5000);
+        sheet.setColumnWidth((short) 1, (short) 5000);
+        sheet.setColumnWidth((short) 2, (short) 5000);
+        sheet.setColumnWidth((short) 3, (short) 5000);
+    }
+
+
+    /**
+     * 2022-07-14 17:41:39
+     * 设置表格宽度(返回错误Excel的样式)
+     **/
+    public static void setBatchDetailSheetColumn2(XSSFSheet sheet) {
+        sheet.setDefaultRowHeight((short) 600);
+        sheet.setColumnWidth((short) 0, (short) 5000);
+        sheet.setColumnWidth((short) 1, (short) 5000);
+        sheet.setColumnWidth((short) 2, (short) 5000);
+        sheet.setColumnWidth((short) 3, (short) 5000);
+        sheet.setColumnWidth((short) 4, (short) 5000);
+    }
+
+    /**
+     * 2022-07-14 17:42:03
+     * 设置表头
+     * cellStyle1 中文提示信息样式
+     * cellStyle2 标题提示信息样式
+     * cellStyle3 正文提示信息样式
+     **/
+    public static void batchDetail(XSSFSheet sheet, XSSFCellStyle cellStyle1, XSSFCellStyle cellStyle2, XSSFCellStyle cellStyle3, XSSFCellStyle cellStyle4, XSSFWorkbook xssfFWorkbook) {
+//        HSSFCellStyle bcs = ExportExcel.createTitleCellStyle1(workbook);
+//        bcs.setBorderBottom(BorderStyle.THIN); //下边框
+//        bcs.setBorderLeft(BorderStyle.THIN);//左边框
+//        bcs.setBorderTop(BorderStyle.THIN);//上边框
+//        bcs.setBorderRight(BorderStyle.THIN);//右边框
+//        bcs.setWrapText(true);
+
+
+        XSSFRow row = null;
+        XSSFCell cell = null;
+
+        cellStyle1.setBorderBottom(BorderStyle.THIN); //下边框
+        cellStyle1.setBorderLeft(BorderStyle.THIN);//左边框
+        cellStyle1.setBorderTop(BorderStyle.THIN);//上边框
+        cellStyle1.setBorderRight(BorderStyle.THIN);//右边框
+        cellStyle1.setWrapText(true);
+
+        cellStyle2.setBorderBottom(BorderStyle.THIN); //下边框
+        cellStyle2.setBorderLeft(BorderStyle.THIN);//左边框
+        cellStyle2.setBorderTop(BorderStyle.THIN);//上边框
+        cellStyle2.setBorderRight(BorderStyle.THIN);//右边框
+        cellStyle2.setWrapText(true);
+        cellStyle1.setDataFormat(xssfFWorkbook.createDataFormat().getFormat("TEXT"));
+        cellStyle2.setDataFormat(xssfFWorkbook.createDataFormat().getFormat("TEXT"));
+        cellStyle3.setDataFormat(xssfFWorkbook.createDataFormat().getFormat("TEXT"));
+        cellStyle4.setDataFormat(xssfFWorkbook.createDataFormat().getFormat("TEXT"));
+
+        /*第一行*/
+        sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
+
+        /*第一行塞值*/
+        row = sheet.createRow(0);
+
+        cell = row.createCell(0);// ID
+        cell.setCellStyle(cellStyle1);
+        cell.setCellValue("季度价格系数导入");
+
+        /*第二行*/
+        sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 3));
+        /*第二行塞值*/
+        row = sheet.createRow(1);
+        cell = row.createCell(0);// ID
+        cell.setCellStyle(cellStyle2);
+        cell.setCellValue("注意:①请按照以下示例填写信息;②最多不超过5000行;③导入前,请记得删除示例行!");
+        /*第三行塞值*/
+        row = sheet.createRow(2);
+
+        cell = row.createCell(0);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("经销商(必填)");
+
+        cell = row.createCell(1);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("年份(必填)");
+
+        cell = row.createCell(2);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("季度(必填)");
+
+        cell = row.createCell(3);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("任务价格系数(必填)");
+
+        /*第四行塞值*/
+        row = sheet.createRow(3);
+
+        cell = row.createCell(0);
+        cell.setCellStyle(cellStyle4);
+        cell.setCellValue("经销商");
+
+        cell = row.createCell(1);
+        cell.setCellStyle(cellStyle4);
+        cell.setCellValue("2025");
+
+        cell = row.createCell(2);
+        cell.setCellStyle(cellStyle4);
+        cell.setCellValue("1");
+
+        cell = row.createCell(3);
+        cell.setCellStyle(cellStyle4);
+        cell.setCellValue("1");
+
+    }
+
+
+    /**
+     * 2022-07-14 17:42:03
+     * 设置表头
+     **/
+    public static void batchDetailErr(XSSFSheet sheet, XSSFCellStyle cellStyle1, XSSFCellStyle cellStyle2, XSSFCellStyle cellStyle3, XSSFWorkbook workbook) {
+//        HSSFCellStyle bcs = ExportExcel.createTitleCellStyle1(workbook);
+//        bcs.setBorderBottom(BorderStyle.THIN); //下边框
+//        bcs.setBorderLeft(BorderStyle.THIN);//左边框
+//        bcs.setBorderTop(BorderStyle.THIN);//上边框
+//        bcs.setBorderRight(BorderStyle.THIN);//右边框
+//        bcs.setWrapText(true);
+
+
+        XSSFRow row = null;
+        XSSFCell cell = null;
+
+        cellStyle1.setBorderBottom(BorderStyle.THIN); //下边框
+        cellStyle1.setBorderLeft(BorderStyle.THIN);//左边框
+        cellStyle1.setBorderTop(BorderStyle.THIN);//上边框
+        cellStyle1.setBorderRight(BorderStyle.THIN);//右边框
+        cellStyle1.setWrapText(true);
+
+
+
+        /*第一行*/
+        sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 4));
+
+        /*第一行塞值*/
+        row = sheet.createRow(0);
+        cell = row.createCell(0);// ID
+        cell.setCellStyle(cellStyle1);
+        cell.setCellValue("季度价格系数导入");
+        /*第二行*/
+        sheet.addMergedRegion(new CellRangeAddress(1, 1, 0, 4));
+        /*第二行塞值*/
+        row = sheet.createRow(1);
+        cell = row.createCell(0);// ID
+        cell.setCellStyle(cellStyle2);
+        cell.setCellValue("注意:①请按照以下示例填写信息;②最多不超过5000行;③导入前,请记得删除示例行!");
+        /*第三行塞值*/
+        row = sheet.createRow(2);
+
+        cell = row.createCell(0);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("经销商(必填)");
+
+        cell = row.createCell(1);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("年份(必填)");
+
+        cell = row.createCell(2);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("季度(必填)");
+
+        cell = row.createCell(3);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("任务价格系数(必填)");
+
+        cell = row.createCell(4);
+        cell.setCellStyle(cellStyle3);
+        cell.setCellValue("错误信息");
+
+    }
+}

+ 466 - 0
src/custom/restcontroller/webmanage/sale/item/quarterpricenum.java

@@ -0,0 +1,466 @@
+package restcontroller.webmanage.sale.item;
+
+import beans.data.BatchDeleteErr;
+import beans.datacontrllog.DataContrlLog;
+import beans.itemprice.ItemPrice;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import common.Controller;
+import common.YosException;
+import common.annotation.API;
+import common.annotation.CACHEING;
+import common.annotation.CACHEING_CLEAN;
+import common.data.*;
+import org.apache.commons.lang.StringUtils;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.DataFormat;
+import org.apache.poi.xssf.usermodel.*;
+import restcontroller.R;
+import utility.tools.Math;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+@API(title = "季度价格系数")
+public class quarterpricenum extends Controller {
+    public quarterpricenum(JSONObject content) throws YosException {
+        super(content);
+    }
+
+    @API(title = "季度价格系数新增修改", apiversion = R.ID2025020710433903.v1.class)
+    public String insertormodify_quarterpricenum() throws YosException {
+
+        ArrayList<String> sqlList = new ArrayList<>();
+        String tableName = "sa_quarterpricenum";
+
+        Long sa_quarterpricenumid = content.getLongValue("sa_quarterpricenumid");
+        Long year = content.getLongValue("year");
+        Long sa_agentsid = content.getLongValue("sa_agentsid");
+        Long quarter = content.getLongValue("quarter");
+        BigDecimal pricerate = content.getBigDecimal("pricerate");
+        if (sa_quarterpricenumid <= 0 || dbConnect.runSqlQuery("select * from sa_quarterpricenum where sa_quarterpricenumid="+sa_quarterpricenumid).isEmpty()) {
+            sa_quarterpricenumid = createTableID(tableName);
+            InsertSQL insertSQL = SQLFactory.createInsertSQL(this, tableName);
+            insertSQL.setUniqueid(sa_quarterpricenumid).setSiteid(siteid);
+            insertSQL.setValue("year", year);
+            insertSQL.setValue("sa_agentsid", sa_agentsid);
+            insertSQL.setValue("quarter", quarter);
+            insertSQL.setValue("pricerate", pricerate);
+            insertSQL.setValue("status", "新建");
+            insertSQL.setDateValue("createdate");
+            insertSQL.setDateValue("changedate");
+            insertSQL.setDateValue("operatedate");
+            insertSQL.setValue("createby", username);
+            insertSQL.setValue("changeby", username);
+            sqlList.add(insertSQL.getSQL());
+            sqlList.add(DataContrlLog.createLog(this, tableName, sa_quarterpricenumid, "新增", "季度价格系数新增成功").getSQL());
+        } else{
+            Rows rows = dbConnect.runSqlQuery("select * from sa_quarterpricenum where sa_quarterpricenumid="+sa_quarterpricenumid);
+            if(rows.isNotEmpty() && rows.get(0).getString("status").equals("新建")){
+                UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, tableName);
+                updateSQL.setUniqueid(sa_quarterpricenumid).setSiteid(siteid);
+                updateSQL.setValue("year", year);
+                updateSQL.setValue("sa_agentsid", sa_agentsid);
+                updateSQL.setValue("pricerate", pricerate);
+                updateSQL.setValue("quarter", quarter);
+                updateSQL.setDateValue("changedate");
+                updateSQL.setValue("changeby", username);
+                sqlList.add(updateSQL.getSQL());
+                sqlList.add(DataContrlLog.createLog(this, tableName, sa_quarterpricenumid, "编辑", "季度价格系数编辑成功").getSQL());
+            }else{
+                return getErrReturnObject().setErrMsg("非新建状态的季度价格系数无法更新").toString();
+            }
+
+        }
+
+        dbConnect.runSqlUpdate(sqlList);
+
+        content.put("sa_quarterpricenumid", sa_quarterpricenumid);
+
+        return queryquarterpricenumMain();
+    }
+
+    @API(title = "季度价格系数列表", apiversion = R.ID2025020710553803.v1.class)
+    @CACHEING
+    public String queryquarterpricenumList() throws YosException {
+        /*
+          过滤条件设置
+         */
+        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.year like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.quarter like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.agentnum like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t3.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
+                where.append(" and t1.status='").append(whereObject.getString("status")).append("' ");
+            }
+        }
+//        SQLFactory sqlFactory = new SQLFactory(this, "经销商列表查询", pageSize, pageNumber, pageSorting);
+//        sqlFactory.addParameter_SQL("where", where);
+//        sqlFactory.addParameter("siteid", siteid);
+//        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_quarterpricenum");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_agents", "t2", "t1.siteid = t2.siteid and t1.sa_agentsid = t2.sa_agentsid","agentnum");
+        querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t3", "t3.siteid = t2.siteid and t3.sys_enterpriseid = t2.sys_enterpriseid","enterprisename");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere(where.toString());
+        querySQL.setPage(pageSize, pageNumber);
+        querySQL.setOrderBy(pageSorting);
+        Rows rows = querySQL.query();
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+    @API(title = "季度价格系数详情", apiversion = R.ID2025020710554503.v1.class)
+    @CACHEING
+    public String queryquarterpricenumMain() throws YosException {
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_quarterpricenum");
+        querySQL.setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_agents", "t2", "t1.siteid = t2.siteid and t1.sa_agentsid = t2.sa_agentsid","agentnum");
+        querySQL.addJoinTable(JOINTYPE.inner, "sys_enterprise", "t3", "t3.siteid = t2.siteid and t3.sys_enterpriseid = t2.sys_enterpriseid","enterprisename");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere("sa_quarterpricenumid",content.getLongValue("sa_quarterpricenumid"));
+        Rows rows = querySQL.query();
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+    @API(title = "检查", apiversion = R.ID2025020711080903.v1.class)
+    @CACHEING_CLEAN(apiClass = {quarterpricenum.class})
+    public String check() throws YosException {
+        Rows rows = dbConnect.runSqlQuery("select * from sa_quarterpricenum where status='新建' and siteid='"+siteid+"'");
+        Rows agentRows = dbConnect.runSqlQuery("select sa_agentsid,year,quarter,pricerate from sa_agents where siteid='"+siteid+"' and sa_agentsid in (select sa_agentsid from sa_quarterpricenum where status='新建' and siteid='"+siteid+"')");
+        RowsMap agentRowsMap = agentRows.toRowsMap("sa_agentsid");
+        ArrayList<String> sqlList = new ArrayList<>();
+        for(Row row :rows){
+            if(agentRowsMap.containsKey(row.getString("sa_agentsid"))){
+                if(row.getBigDecimal("pricerate").compareTo(BigDecimal.ZERO)<=0){
+                    UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_quarterpricenum");
+                    updateSQL.setUniqueid(row.getLong("sa_quarterpricenumid")).setSiteid(siteid);
+                    updateSQL.setValue("ischeck", true);
+                    updateSQL.setValue("isright", false);
+                    updateSQL.setValue("result", "价格系数不能小于0");
+                    updateSQL.setValue("status", "已检验");
+                    updateSQL.setDateValue("changedate");
+                    updateSQL.setDateValue("operatedate");
+                    updateSQL.setValue("changeby", username);
+                    sqlList.add(updateSQL.getSQL());
+                }else{
+                    if(agentRowsMap.get(row.getString("sa_agentsid")).get(0).getLong("year")==row.getLong("year") &&
+                            agentRowsMap.get(row.getString("sa_agentsid")).get(0).getLong("quarter")==row.getLong("quarter") &&
+                            agentRowsMap.get(row.getString("sa_agentsid")).get(0).getBigDecimal("pricerate").compareTo(row.getBigDecimal("pricerate"))==0){
+                        UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_quarterpricenum");
+                        updateSQL.setUniqueid(row.getLong("sa_quarterpricenumid")).setSiteid(siteid);
+                        updateSQL.setValue("ischeck", true);
+                        updateSQL.setValue("isright", false);
+                        updateSQL.setValue("result", "原有系数:" +  agentRowsMap.get(row.getString("sa_agentsid")).get(0).getBigDecimal("pricerate")+ " , 待导入系数:" + row.getBigDecimal("pricerate"));
+                        updateSQL.setValue("status", "已检验");
+                        updateSQL.setDateValue("changedate");
+                        updateSQL.setDateValue("operatedate");
+                        updateSQL.setValue("changeby", username);
+                        sqlList.add(updateSQL.getSQL());
+                    }else{
+                        UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_quarterpricenum");
+                        updateSQL.setUniqueid(row.getLong("sa_quarterpricenumid")).setSiteid(siteid);
+                        updateSQL.setValue("ischeck", true);
+                        updateSQL.setValue("isright", true);
+                        updateSQL.setValue("result", "原有系数:" +  agentRowsMap.get(row.getString("sa_agentsid")).get(0).getBigDecimal("pricerate")+ " , 待导入系数:" + row.getBigDecimal("pricerate"));
+                        updateSQL.setValue("status", "已检验");
+                        updateSQL.setDateValue("changedate");
+                        updateSQL.setDateValue("operatedate");
+                        updateSQL.setValue("changeby", username);
+                        sqlList.add(updateSQL.getSQL());
+                    }
+                }
+
+            }else{
+                UpdateSQL updateSQL = SQLFactory.createUpdateSQL(this, "sa_quarterpricenum");
+                updateSQL.setUniqueid(row.getLong("sa_quarterpricenumid")).setSiteid(siteid);
+                updateSQL.setValue("ischeck", true);
+                updateSQL.setValue("isright", false);
+                updateSQL.setValue("result", "该经销商不存在");
+                updateSQL.setValue("status", "已检验");
+                updateSQL.setDateValue("changedate");
+                updateSQL.setDateValue("operatedate");
+                updateSQL.setValue("changeby", username);
+                sqlList.add(updateSQL.getSQL());
+            }
+        }
+        dbConnect.runSqlUpdate(sqlList);
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "更新经销商季度价格系数", apiversion = R.ID2025020713110003.v1.class)
+    @CACHEING_CLEAN(apiClass = {Item.class, restcontroller.sale.item.Item.class,quarterpricenum.class})
+    public String UpdateQuarterPriceNum() throws YosException {
+        Rows rows = dbConnect.runSqlQuery("select * from sa_quarterpricenum where status='已检验' and ischeck=1 and isright=1 and siteid='"+siteid+"'");
+        ArrayList<String> sqlList = new ArrayList<>();
+        for(Row row :rows){
+            sqlList.add("update sa_agents set year="+row.getLong("year")+",quarter="+row.getLong("quarter")+",pricerate="+row.getBigDecimal("pricerate")+" where sa_agentsid="+row.getLong("sa_agentsid"));
+            sqlList.add("update sa_quarterpricenum set  status='已更新' where sa_quarterpricenumid="+row.getLong("sa_quarterpricenumid"));
+        }
+        dbConnect.runSqlUpdate(sqlList);
+        return getSucReturnObject().toString();
+    }
+
+
+    @API(title = "季度价格系数删除", apiversion = R.ID2025020711034703.v1.class)
+    @CACHEING_CLEAN(apiClass = {quarterpricenum.class})
+    public String delete() throws YosException {
+        JSONArray sa_quarterpricenumids = content.getJSONArray("sa_quarterpricenumids");
+        BatchDeleteErr batchDeleteErr = BatchDeleteErr.create(this, sa_quarterpricenumids.size());
+        for (Object o : sa_quarterpricenumids) {
+            long sa_quarterpricenumid = Long.parseLong(o.toString());
+            Rows RowsStatus = dbConnect.runSqlQuery(
+                    "select status from sa_quarterpricenum  where sa_quarterpricenumid='" + sa_quarterpricenumid + "'");
+
+            if (RowsStatus.isNotEmpty()) {
+                if (RowsStatus.get(0).getString("status").equals("已更新")) {
+                    batchDeleteErr.addErr(sa_quarterpricenumid, "已更新状态的季度价格系数无法删除");
+                    continue;
+                }
+            }
+            ArrayList<String> list = new ArrayList<>();
+            list.add("delete from sa_quarterpricenum where siteid='" + siteid
+                    + "' and sa_quarterpricenumid=" + sa_quarterpricenumid);
+
+            dbConnect.runSqlUpdate(list);
+        }
+        return batchDeleteErr.getReturnObject().toString();
+
+    }
+
+
+
+    @API(title = "下载导入模板", apiversion = R.ID2025020713403803.v1.class)
+    @CACHEING_CLEAN(apiClass = {quarterpricenum.class})
+    public String downloadExcel() throws YosException {
+        ExcelFactory excelFactory = new ExcelFactory("季度价格系数导入模板");
+
+        XSSFSheet sheet = excelFactory.getXssfWorkbook().createSheet("Sheet1");
+        XSSFWorkbook xssfFWorkbook = excelFactory.getXssfWorkbook();
+        CellStyle style = xssfFWorkbook.createCellStyle();
+        DataFormat format = xssfFWorkbook.createDataFormat();
+        style.setDataFormat(format.getFormat("@"));
+        // 对单独某一列进行样式赋值,第一个参数为列数,第二个参数为样式
+        for (int i = 0; i <= 2; i++) {
+            sheet.setDefaultColumnStyle(i, style);
+        }
+        // 设置工作薄列宽
+        ExportpricePriceNumExcel.setBatchDetailSheetColumn1(sheet);// 设置工作薄列宽
+        XSSFCellStyle titleCellStyle1 = ExportpricePriceNumExcel.createTitleCellStyle1(xssfFWorkbook);
+        XSSFCellStyle titleCellStyle2 = ExportpricePriceNumExcel.createTitleCellStyle2(xssfFWorkbook);
+        XSSFCellStyle titleCellStyle3 = ExportpricePriceNumExcel.createTitleCellStyle3(xssfFWorkbook);
+        XSSFCellStyle titleCellStyle4 = ExportpricePriceNumExcel.createBodyCellStyle4(xssfFWorkbook);
+
+        ExportpricePriceNumExcel.batchDetail(sheet, titleCellStyle1, titleCellStyle2, titleCellStyle3, titleCellStyle4, xssfFWorkbook);
+
+        Rows aa = uploadExcelToObs(excelFactory);
+        String url = "";
+        if (!aa.isEmpty()) {
+            url = aa.get(0).getString("url");
+        }
+        return getSucReturnObject().setData(url).toString();
+    }
+
+
+
+
+    @API(title = "季度价格系数导入", apiversion = R.ID2025020713405203.v1.class)
+    @CACHEING_CLEAN(apiClass = {quarterpricenum.class})
+    public String importQuarterpricenum() throws YosException {
+        ArrayList<String> sqlList = new ArrayList<>();
+        ExcelFactory e;
+        try {
+
+            // 华为云
+            //e = getPostExcelFactory(content.getLong("attachmentid"));
+            // 本地
+            e = getPostExcelFactory();
+
+            ArrayList<String> keys = new ArrayList<>();
+            keys.add("agentnum");
+            keys.add("year");
+            keys.add("quarter");
+            keys.add("pricerate");
+
+            Rows rows = e.getSheetRows(0, keys, 3);
+            boolean iserr = false;
+            Rows rowserr = new Rows();
+            Rows rowssuc = new Rows();
+
+            RowsMap agentRowsMap = dbConnect.runSqlQuery("select sa_agentsid,agentnum from sa_agents where siteid='" + siteid + "'").toRowsMap("agentnum");
+
+            RowsMap limitagentRowsMap = rows.toRowsMap("agentnum");
+            for (Row row : rows) {
+                String agentnum = row.getString("agentnum");
+                String year = row.getString("year");
+                String quarter = row.getString("quarter");
+                String pricerate = row.getString("pricerate");
+                if (StringUtils.isEmpty(agentnum)
+                        || StringUtils.isEmpty(year)
+                        || StringUtils.isEmpty(quarter) || StringUtils.isEmpty(pricerate)) {
+                    iserr = true;
+                    row.put("msg", "错误信息:经销商编号/年份/季度/价格系数不能为空");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("year"))){
+                    iserr = true;
+                    row.put("msg", "年份不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("quarter"))){
+                    iserr = true;
+                    row.put("msg", "季度不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if(!isNumeric(row.getString("pricerate"))){
+                    iserr = true;
+                    row.put("msg", "价格系数不为数字格式,请检查");
+                    rowserr.add(row);
+                    continue;
+                }
+                if (limitagentRowsMap.get(agentnum).size() > 1) {
+                    iserr = true;
+                    row.put("msg", "错误信息:本次导入存在重复经销商");
+                    rowserr.add(row);
+                    continue;
+                }
+                if (!agentRowsMap.containsKey(agentnum)) {
+                    iserr = true;
+                    row.put("msg", "错误信息:经销商不存在");
+                    rowserr.add(row);
+                    continue;
+                } else {
+                    row.put("sa_agentsid", agentRowsMap.get(agentnum).get(0).getLong("sa_agentsid"));
+                }
+                rowssuc.add(row);
+            }
+
+            if (!rowssuc.isEmpty()) {
+                for(Row row : rowssuc){
+                    long sa_quarterpricenumid = createTableID("sa_quarterpricenum");
+                    InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sa_quarterpricenum");
+                    insertSQL.setUniqueid(sa_quarterpricenumid).setSiteid(siteid);
+                    insertSQL.setValue("year", row.getString("year"));
+                    insertSQL.setValue("sa_agentsid",  row.getString("sa_agentsid"));
+                    insertSQL.setValue("quarter",  row.getString("quarter"));
+                    insertSQL.setValue("pricerate",  row.getString("pricerate"));
+                    insertSQL.setValue("status", "新建");
+                    insertSQL.setDateValue("operatedate");
+                    insertSQL.setDateValue("createdate");
+                    insertSQL.setDateValue("changedate");
+                    insertSQL.setValue("createby", username);
+                    insertSQL.setValue("changeby", username);
+                    sqlList.add(insertSQL.getSQL());
+                }
+            }
+
+            if (!sqlList.isEmpty()) {
+                dbConnect.runSqlUpdate(sqlList);
+            }
+            if (iserr) {
+                ExcelFactory excelFactory = new ExcelFactory("季度价格系数导入错误信息");
+                HashMap<String, String> map = new HashMap<String, String>();
+                map.put("agentnum", "经销商编码");
+                map.put("year", "年份");
+                map.put("quarter", "季度");
+                map.put("pricerate", "价格系数");
+                map.put("msg", "错误信息");
+                ArrayList<String> colNameList = new ArrayList<String>();
+                HashMap<String, Class> keytypemap = new HashMap<String, Class>();
+                colNameList.add("agentnum");
+                colNameList.add("year");
+                colNameList.add("quarter");
+                colNameList.add("pricerate");
+                colNameList.add("msg");
+                keytypemap.put("agentnum", String.class);
+                keytypemap.put("year", String.class);
+                keytypemap.put("quarter", String.class);
+                keytypemap.put("pricerate", String.class);
+                keytypemap.put("msg", String.class);
+                rowserr.setFieldList(colNameList);
+                rowserr.setFieldTypeMap(keytypemap);
+                addSheet(excelFactory, "Sheet1", rowserr, map);
+
+                Rows aa = uploadExcelToObs(excelFactory);
+                String url = "";
+                if (!aa.isEmpty()) {
+                    url = aa.get(0).getString("url");
+                }
+                return getSucReturnObject().setData(url).toString();
+            }
+        } catch (Exception e1) {
+            e1.printStackTrace();
+            return getErrReturnObject().setErrMsg(e1.getMessage()).toString();
+        }
+        return getSucReturnObject().toString();
+    }
+
+    public XSSFSheet addSheet(ExcelFactory excelFactory, String sheetname, Rows datarows,
+                              HashMap<String, String> titlemap) {
+        ArrayList<String> keylist = datarows.getFieldList();
+        XSSFSheet sheet = excelFactory.getXssfWorkbook().createSheet(sheetname);
+        XSSFWorkbook xssfFWorkbook = excelFactory.getXssfWorkbook();
+
+        XSSFCellStyle xssfCellStyle1 = xssfFWorkbook.createCellStyle();
+        XSSFFont font = xssfFWorkbook.createFont();
+
+        font.setColor((short) 0xa);
+        font.setFontHeightInPoints((short) 12);
+        font.setBold(true);
+        xssfCellStyle1.setFont(font);
+
+        CellStyle style = xssfFWorkbook.createCellStyle();
+        DataFormat format = xssfFWorkbook.createDataFormat();
+        style.setDataFormat(format.getFormat("@"));
+        // 对单独某一列进行样式赋值,第一个参数为列数,第二个参数为样式
+        for (int i = 0; i <= 5; i++) {
+            sheet.setDefaultColumnStyle(i, style);
+        }
+        ExportpricePriceNumExcel.setBatchDetailSheetColumn2(sheet);// 设置工作薄列宽
+        XSSFCellStyle titleCellStyle1 = ExportpricePriceNumExcel.createTitleCellStyle1(xssfFWorkbook);
+        XSSFCellStyle titleCellStyle2 = ExportpricePriceNumExcel.createTitleCellStyle2(xssfFWorkbook);
+        XSSFCellStyle titleCellStyle3 = ExportpricePriceNumExcel.createTitleCellStyle3(xssfFWorkbook);
+        ExportpricePriceNumExcel.batchDetailErr(sheet, titleCellStyle1, titleCellStyle2, titleCellStyle3, xssfFWorkbook);// 写入标题
+
+        for (int n = 0; n < datarows.size(); n++) {
+            Row row = datarows.get(n);
+            XSSFRow datarow = sheet.createRow(n + 3);
+            for (int i1 = 0; i1 < keylist.size(); i1++) {
+                Class fieldclazztype = datarows.getFieldMeta(keylist.get(i1)).getFieldtype();
+                if (fieldclazztype == Integer.class) {
+                    datarow.createCell(i1).setCellValue(row.getInteger((String) keylist.get(i1)));
+                } else if (fieldclazztype == Long.class) {
+                    datarow.createCell(i1).setCellValue(row.getLong((String) keylist.get(i1)));
+                } else if (fieldclazztype == Float.class) {
+                    datarow.createCell(i1).setCellValue(row.getFloat((String) keylist.get(i1)));
+                } else if (fieldclazztype == Double.class) {
+                    datarow.createCell(i1).setCellValue(row.getDouble((String) keylist.get(i1)));
+                } else {
+                    datarow.createCell(i1).setCellValue(row.getString((String) keylist.get(i1)));
+                }
+                if (i1 == 5) {
+                    datarow.getCell(i1).setCellStyle(xssfCellStyle1);
+                }
+            }
+        }
+        return sheet;
+    }
+    public static boolean isNumeric(String strNum) {
+        if (strNum == null) {
+            return false;
+        }
+        return strNum.matches("-?\\d+(\\.\\d+)?");
+    }
+}