李云瑞 1 éve
szülő
commit
a1799198c7
19 módosított fájl, 340 hozzáadás és 0 törlés
  1. 22 0
      jeecg-boot-base-core/src/main/java/org/jeecg/common/handler/IFillRuleHandler.java
  2. 97 0
      jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java
  3. BIN
      jeecg-boot-base-core/target/classes/org/jeecg/common/handler/IFillRuleHandler.class
  4. BIN
      jeecg-boot-base-core/target/classes/org/jeecg/common/util/ImportExcelUtil.class
  5. 49 0
      jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgDemoService.java
  6. 28 0
      jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgDynamicDataService.java
  7. 23 0
      jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderCustomerService.java
  8. 56 0
      jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderMainService.java
  9. 23 0
      jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderTicketService.java
  10. 15 0
      jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJoaDemoService.java
  11. BIN
      jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgDemoService.class
  12. BIN
      jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgDynamicDataService.class
  13. BIN
      jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgOrderCustomerService.class
  14. BIN
      jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgOrderMainService.class
  15. BIN
      jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgOrderTicketService.class
  16. BIN
      jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJoaDemoService.class
  17. BIN
      jeecg-module-demo/target/classes/static/bigscreen/template2/js/layer/skin/default/icon_ext.png
  18. 27 0
      jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ImportFileServiceImpl.java
  19. BIN
      jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/service/impl/ImportFileServiceImpl.class

+ 22 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/handler/IFillRuleHandler.java

@@ -0,0 +1,22 @@
+package org.jeecg.common.handler;
+
+import com.alibaba.fastjson.JSONObject;
+
+/**
+ * 填值规则接口
+ *
+ * @author Yan_东
+ * 如需使用填值规则功能,规则实现类必须实现此接口
+ */
+public interface IFillRuleHandler {
+
+    /**
+     * 填值规则
+     * @param params 页面配置固定参数
+     * @param formData  动态表单参数
+     * @return
+     */
+    public Object execute(JSONObject params, JSONObject formData);
+
+}
+

+ 97 - 0
jeecg-boot-base-core/src/main/java/org/jeecg/common/util/ImportExcelUtil.java

@@ -0,0 +1,97 @@
+package org.jeecg.common.util;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.service.IService;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.constant.CommonConstant;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * 导出返回信息
+ * @author: jeecg-boot
+ */
+@Slf4j
+public class ImportExcelUtil {
+
+    public static Result<?> imporReturnRes(int errorLines,int successLines,List<String> errorMessage) throws IOException {
+        if (errorLines == 0) {
+            return Result.ok("共" + successLines + "行数据全部导入成功!");
+        } else {
+            JSONObject result = new JSONObject(5);
+            int totalCount = successLines + errorLines;
+            result.put("totalCount", totalCount);
+            result.put("errorCount", errorLines);
+            result.put("successCount", successLines);
+            result.put("msg", "总上传行数:" + totalCount + ",已导入行数:" + successLines + ",错误行数:" + errorLines);
+            String fileUrl = PmsUtil.saveErrorTxtByList(errorMessage, "userImportExcelErrorLog");
+            int lastIndex = fileUrl.lastIndexOf(File.separator);
+            String fileName = fileUrl.substring(lastIndex + 1);
+            result.put("fileUrl", "/sys/common/static/" + fileUrl);
+            result.put("fileName", fileName);
+            Result res = Result.ok(result);
+            res.setCode(201);
+            res.setMessage("文件导入成功,但有错误。");
+            return res;
+        }
+    }
+
+    public static List<String> importDateSave(List<?> list, Class serviceClass, List<String> errorMessage, String errorFlag)  {
+        IService bean =(IService) SpringContextUtils.getBean(serviceClass);
+        for (int i = 0; i < list.size(); i++) {
+            try {
+                boolean save = bean.save(list.get(i));
+                if(!save){
+                    throw new Exception(errorFlag);
+                }
+            } catch (Exception e) {
+                String message = e.getMessage().toLowerCase();
+                int lineNumber = i + 1;
+                // 通过索引名判断出错信息
+                if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_ROLE_CODE)) {
+                    errorMessage.add("第 " + lineNumber + " 行:角色编码已经存在,忽略导入。");
+                } else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_JOB_CLASS_NAME)) {
+                    errorMessage.add("第 " + lineNumber + " 行:任务类名已经存在,忽略导入。");
+                }else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_CODE)) {
+                    errorMessage.add("第 " + lineNumber + " 行:职务编码已经存在,忽略导入。");
+                }else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_DEPART_ORG_CODE)) {
+                    errorMessage.add("第 " + lineNumber + " 行:部门编码已经存在,忽略导入。");
+                }else {
+                    errorMessage.add("第 " + lineNumber + " 行:未知错误,忽略导入");
+                    log.error(e.getMessage(), e);
+                }
+            }
+        }
+        return errorMessage;
+    }
+
+    public static List<String> importDateSaveOne(Object obj, Class serviceClass,List<String> errorMessage,int i,String errorFlag)  {
+        IService bean =(IService) SpringContextUtils.getBean(serviceClass);
+        try {
+            boolean save = bean.save(obj);
+            if(!save){
+                throw new Exception(errorFlag);
+            }
+        } catch (Exception e) {
+            String message = e.getMessage().toLowerCase();
+            int lineNumber = i + 1;
+            // 通过索引名判断出错信息
+            if (message.contains(CommonConstant.SQL_INDEX_UNIQ_SYS_ROLE_CODE)) {
+                errorMessage.add("第 " + lineNumber + " 行:角色编码已经存在,忽略导入。");
+            } else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_JOB_CLASS_NAME)) {
+                errorMessage.add("第 " + lineNumber + " 行:任务类名已经存在,忽略导入。");
+            }else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_CODE)) {
+                errorMessage.add("第 " + lineNumber + " 行:职务编码已经存在,忽略导入。");
+            }else if (message.contains(CommonConstant.SQL_INDEX_UNIQ_DEPART_ORG_CODE)) {
+                errorMessage.add("第 " + lineNumber + " 行:部门编码已经存在,忽略导入。");
+            }else {
+                errorMessage.add("第 " + lineNumber + " 行:未知错误,忽略导入");
+                log.error(e.getMessage(), e);
+            }
+        }
+        return errorMessage;
+    }
+}

BIN
jeecg-boot-base-core/target/classes/org/jeecg/common/handler/IFillRuleHandler.class


BIN
jeecg-boot-base-core/target/classes/org/jeecg/common/util/ImportExcelUtil.class


+ 49 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgDemoService.java

@@ -0,0 +1,49 @@
+package org.jeecg.modules.demo.test.service;
+
+import org.jeecg.common.system.base.service.JeecgService;
+import org.jeecg.modules.demo.test.entity.JeecgDemo;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * @Description: jeecg 测试demo
+ * @Author: jeecg-boot
+ * @Date:  2018-12-29
+ * @Version: V1.0
+ */
+public interface IJeecgDemoService extends JeecgService<JeecgDemo> {
+
+    /**
+     * 测试事务
+     */
+	public void testTran();
+
+    /**
+     * 通过id过去demo数据,先读缓存,在读数据库
+     * @param id 数据库id
+     * @return demo对象
+     */
+	public JeecgDemo getByIdCacheable(String id);
+	
+	/**
+	 * 查询列表数据 在service中获取数据权限sql信息
+	 * @param pageSize
+	 * @param pageNo
+	 * @return
+	 */
+	IPage<JeecgDemo> queryListWithPermission(int pageSize,int pageNo);
+
+	/**
+	 * 根据用户权限获取导出字段
+	 * @return
+	 */
+	String getExportFields();
+
+	/**
+	 * 获取创建人
+	 * @return
+	 */
+	List<String> getCreateByList();
+}

+ 28 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgDynamicDataService.java

@@ -0,0 +1,28 @@
+package org.jeecg.modules.demo.test.service;
+
+import org.jeecg.common.system.base.service.JeecgService;
+import org.jeecg.modules.demo.test.entity.JeecgDemo;
+
+import java.util.List;
+
+/**
+ * @Description: 动态数据源测试
+ * @Author: zyf
+ * @Date:2020-04-21
+ */
+public interface IJeecgDynamicDataService extends JeecgService<JeecgDemo> {
+
+	/**
+	 * 测试从header获取数据源
+	 * @return
+	 */
+	public List<JeecgDemo> selectSpelByHeader();
+
+	/**
+	 * 使用spel从参数获取
+	 * @param dsName
+	 * @return
+	 */
+	public  List<JeecgDemo> selectSpelByKey(String dsName);
+
+}

+ 23 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderCustomerService.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.demo.test.service;
+
+import java.util.List;
+
+import org.jeecg.modules.demo.test.entity.JeecgOrderCustomer;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 订单客户
+ * @Author: jeecg-boot
+ * @Date:  2019-02-15
+ * @Version: V1.0
+ */
+public interface IJeecgOrderCustomerService extends IService<JeecgOrderCustomer> {
+
+    /**
+     * 根据订单id获取订单客户数据
+     * @param mainId 订单id
+     * @return 订单顾客集合
+     */
+	public List<JeecgOrderCustomer> selectCustomersByMainId(String mainId);
+}

+ 56 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderMainService.java

@@ -0,0 +1,56 @@
+package org.jeecg.modules.demo.test.service;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
+
+import org.jeecg.modules.demo.test.entity.JeecgOrderCustomer;
+import org.jeecg.modules.demo.test.entity.JeecgOrderMain;
+import org.jeecg.modules.demo.test.entity.JeecgOrderTicket;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 订单
+ * @Author: jeecg-boot
+ * @Date:  2019-02-15
+ * @Version: V1.0
+ */
+public interface IJeecgOrderMainService extends IService<JeecgOrderMain> {
+
+	/**
+	 * 添加一对多
+	 * @param jeecgOrderMain 订单实体类
+     * @param jeecgOrderCustomerList 订单客户集合
+     * @param jeecgOrderTicketList 订单机票集合
+	 */
+	public void saveMain(JeecgOrderMain jeecgOrderMain,List<JeecgOrderCustomer> jeecgOrderCustomerList,List<JeecgOrderTicket> jeecgOrderTicketList) ;
+	
+	/**
+	 * 修改一对多
+     * @param jeecgOrderMain 订单实体类
+     * @param jeecgOrderCustomerList 订单客户集合
+     * @param jeecgOrderTicketList 订单机票集合
+	 */
+	public void updateMain(JeecgOrderMain jeecgOrderMain,List<JeecgOrderCustomer> jeecgOrderCustomerList,List<JeecgOrderTicket> jeecgOrderTicketList);
+	
+	/**
+	 * 删除一对多
+	 * @param id 订单id
+	 */
+	public void delMain (String id);
+	
+	/**
+	 * 批量删除一对多
+	 * @param idList 订单id集合
+	 */
+	public void delBatchMain (Collection<? extends Serializable> idList);
+
+    /**
+     * 修改一对多
+     * @param jeecgOrderMain 订单实体类
+     * @param jeecgOrderCustomerList 订单客户集合
+     * @param jeecgOrderTicketList 订单机票集合
+     */
+	public void updateCopyMain(JeecgOrderMain jeecgOrderMain, List<JeecgOrderCustomer> jeecgOrderCustomerList, List<JeecgOrderTicket> jeecgOrderTicketList);
+}

+ 23 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJeecgOrderTicketService.java

@@ -0,0 +1,23 @@
+package org.jeecg.modules.demo.test.service;
+
+import java.util.List;
+
+import org.jeecg.modules.demo.test.entity.JeecgOrderTicket;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 订单机票
+ * @Author: jeecg-boot
+ * @Date:  2019-02-15
+ * @Version: V1.0
+ */
+public interface IJeecgOrderTicketService extends IService<JeecgOrderTicket> {
+
+    /**
+     * 通过订单id查询订单机票
+     * @param mainId 订单id
+     * @return 订单机票集合
+     */
+	public List<JeecgOrderTicket> selectTicketsByMainId(String mainId);
+}

+ 15 - 0
jeecg-module-demo/src/main/java/org/jeecg/modules/demo/test/service/IJoaDemoService.java

@@ -0,0 +1,15 @@
+package org.jeecg.modules.demo.test.service;
+
+import org.jeecg.modules.demo.test.entity.JoaDemo;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 流程测试
+ * @Author: jeecg-boot
+ * @Date:   2019-05-14
+ * @Version: V1.0
+ */
+public interface IJoaDemoService extends IService<JoaDemo> {
+
+}

BIN
jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgDemoService.class


BIN
jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgDynamicDataService.class


BIN
jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgOrderCustomerService.class


BIN
jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgOrderMainService.class


BIN
jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJeecgOrderTicketService.class


BIN
jeecg-module-demo/target/classes/org/jeecg/modules/demo/test/service/IJoaDemoService.class


BIN
jeecg-module-demo/target/classes/static/bigscreen/template2/js/layer/skin/default/icon_ext.png


+ 27 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/service/impl/ImportFileServiceImpl.java

@@ -0,0 +1,27 @@
+package org.jeecg.modules.system.service.impl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.util.CommonUtils;
+import org.jeecgframework.poi.excel.imports.base.ImportFileServiceI;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+/**
+ * excel导入 实现类
+ * @author: jeecg-boot
+ */
+@Slf4j
+@Service
+public class ImportFileServiceImpl implements ImportFileServiceI {
+
+    @Value("${jeecg.path.upload}")
+    private String upLoadPath;
+
+    @Value(value="${jeecg.uploadType}")
+    private String uploadType;
+
+    @Override
+    public String doUpload(byte[] data) {
+        return CommonUtils.uploadOnlineImage(data, upLoadPath, "import", uploadType);
+    }
+}

BIN
jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/service/impl/ImportFileServiceImpl.class