From ac1c48e5ae523ec6f62366542478bc5d451326a0 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 22 一月 2024 18:18:21 +0800
Subject: [PATCH] 开发业务接口

---
 server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
index 2435385..4b99d6e 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
@@ -1,21 +1,29 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.annotation.excel.ExcelImporter;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.InsuranceMapper;
 import com.doumee.dao.business.WorktypeMapper;
 import com.doumee.dao.business.dto.WorkTypeQueryDTO;
+import com.doumee.dao.business.dto.WorktypeImport;
 import com.doumee.dao.business.model.Worktype;
 import com.doumee.service.business.WorktypeService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
@@ -29,6 +37,8 @@
 
     @Autowired
     private WorktypeMapper worktypeMapper;
+    @Autowired
+    private InsuranceMapper insuranceMapper;
 
     @Override
     public Integer create(Worktype worktype) {
@@ -164,4 +174,44 @@
         QueryWrapper<Worktype> wrapper = new QueryWrapper<>(worktype);
         return worktypeMapper.selectCount(wrapper);
     }
+    @Override
+    public List<String> importBatch(MultipartFile file,Integer id){
+        List<Worktype> list = new ArrayList<>();
+        if(id!=null){
+            Worktype param = new Worktype();
+            param.setIsdeleted(Constants.ZERO);
+            param.setDataType(Constants.ZERO);
+            param.setInsuranceId(id);
+            list = findList(param);
+        }
+        ExcelImporter ie = null;
+        List<WorktypeImport> dataList =null;
+        try {
+            ie = new ExcelImporter(file,0,0);
+            dataList = ie.getDataList(WorktypeImport.class,null);
+        }  catch (Exception e) {
+            e.printStackTrace();
+        }
+        if(dataList == null || dataList.size() ==0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁涓虹┖锛�");
+        }
+         List<String> result = new ArrayList<>();
+        for(WorktypeImport model : dataList){
+            if(StringUtils.isNotBlank(model.getName()) && !isNewWorkTypeByName(model.getName(),list)){
+                result.add(model.getName());
+            }
+        }
+        return result;
+    }
+
+    private boolean isNewWorkTypeByName(String name, List<Worktype> list) {
+        if(  list!=null && list.size()>0){
+            for(Worktype m : list){
+                if(StringUtils.equals(name,m.getName())){
+                    return true;
+                }
+            }
+        }
+        return  false;
+    }
 }

--
Gitblit v1.9.3