Commit 9d2266cbdaf3f672174c13726decafed3dfb10a0
1 parent
1df383b5
Exists in
dev
1:关于批量数据处理的,加名字全称匹配
Showing
10 changed files
with
163 additions
and
63 deletions
Show diff stats
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java
@@ -14,6 +14,7 @@ import com.chinagas.common.security.enums.Logical; | @@ -14,6 +14,7 @@ import com.chinagas.common.security.enums.Logical; | ||
14 | import com.chinagas.modules.schsf.domain.McBasicCmty; | 14 | import com.chinagas.modules.schsf.domain.McBasicCmty; |
15 | import com.chinagas.modules.schsf.domain.dto.CompanyDto; | 15 | import com.chinagas.modules.schsf.domain.dto.CompanyDto; |
16 | import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; | 16 | import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; |
17 | +import com.chinagas.modules.schsf.service.ICommonService; | ||
17 | import com.chinagas.modules.schsf.service.IMcBasicCmtyService; | 18 | import com.chinagas.modules.schsf.service.IMcBasicCmtyService; |
18 | import com.chinagas.modules.schsf.utils.listener.McBasicCmtyImportInspection; | 19 | import com.chinagas.modules.schsf.utils.listener.McBasicCmtyImportInspection; |
19 | import lombok.extern.slf4j.Slf4j; | 20 | import lombok.extern.slf4j.Slf4j; |
@@ -27,6 +28,7 @@ import java.io.IOException; | @@ -27,6 +28,7 @@ import java.io.IOException; | ||
27 | import java.io.InputStream; | 28 | import java.io.InputStream; |
28 | import java.net.URLEncoder; | 29 | import java.net.URLEncoder; |
29 | import java.sql.SQLIntegrityConstraintViolationException; | 30 | import java.sql.SQLIntegrityConstraintViolationException; |
31 | +import java.util.HashMap; | ||
30 | import java.util.List; | 32 | import java.util.List; |
31 | import java.util.Map; | 33 | import java.util.Map; |
32 | import java.util.Set; | 34 | import java.util.Set; |
@@ -45,6 +47,8 @@ import java.util.stream.Collectors; | @@ -45,6 +47,8 @@ import java.util.stream.Collectors; | ||
45 | public class McBasicCmtyController extends BaseController { | 47 | public class McBasicCmtyController extends BaseController { |
46 | @Autowired | 48 | @Autowired |
47 | private IMcBasicCmtyService mcBasicCmtyService; | 49 | private IMcBasicCmtyService mcBasicCmtyService; |
50 | + @Autowired | ||
51 | + private ICommonService commonService; | ||
48 | 52 | ||
49 | /** | 53 | /** |
50 | * 查询基础数据-户数 项目公司组织级联 | 54 | * 查询基础数据-户数 项目公司组织级联 |
@@ -123,6 +127,8 @@ public class McBasicCmtyController extends BaseController { | @@ -123,6 +127,8 @@ public class McBasicCmtyController extends BaseController { | ||
123 | throw new RuntimeException("文件大小不得超过5M"); | 127 | throw new RuntimeException("文件大小不得超过5M"); |
124 | } | 128 | } |
125 | try { | 129 | try { |
130 | + | ||
131 | + | ||
126 | // 获取文件的输入流 | 132 | // 获取文件的输入流 |
127 | InputStream inputStream = file.getInputStream(); | 133 | InputStream inputStream = file.getInputStream(); |
128 | List<McBasicCmty> list = EasyExcel.read(inputStream) //调用read方法 | 134 | List<McBasicCmty> list = EasyExcel.read(inputStream) //调用read方法 |
@@ -133,6 +139,10 @@ public class McBasicCmtyController extends BaseController { | @@ -133,6 +139,10 @@ public class McBasicCmtyController extends BaseController { | ||
133 | .headRowNumber(4) // 列表头行数,1代表列表头有1行,第二行开始为数据行 | 139 | .headRowNumber(4) // 列表头行数,1代表列表头有1行,第二行开始为数据行 |
134 | .doReadSync(); // 开始读Excel,返回一个List<T>集合,继续后续入库操作 | 140 | .doReadSync(); // 开始读Excel,返回一个List<T>集合,继续后续入库操作 |
135 | log.info("导入基础数据-户数总条数:{}", list == null ? 0 : list.size()); | 141 | log.info("导入基础数据-户数总条数:{}", list == null ? 0 : list.size()); |
142 | + | ||
143 | +// List<HashMap<String, String>> sysDeptAlls = commonService.selectSysDeptAll(); | ||
144 | + | ||
145 | + | ||
136 | // // 检验重复数据 | 146 | // // 检验重复数据 |
137 | // Map<String, List<McBasicCmty>> collect = list.stream().collect(Collectors.groupingBy(o -> | 147 | // Map<String, List<McBasicCmty>> collect = list.stream().collect(Collectors.groupingBy(o -> |
138 | // o.getRegionName() + | 148 | // o.getRegionName() + |
@@ -153,40 +163,28 @@ public class McBasicCmtyController extends BaseController { | @@ -153,40 +163,28 @@ public class McBasicCmtyController extends BaseController { | ||
153 | long startTime = System.currentTimeMillis(); // 记录任务开始时间 | 163 | long startTime = System.currentTimeMillis(); // 记录任务开始时间 |
154 | // 插入数据库 | 164 | // 插入数据库 |
155 | if (CollectionUtils.isNotEmpty(list)) { | 165 | if (CollectionUtils.isNotEmpty(list)) { |
156 | - Runnable task = () -> { | ||
157 | - for (McBasicCmty mcBasicCmty : list) { | ||
158 | - mcBasicCmtyService.insertMcBasicCmty(mcBasicCmty); | ||
159 | - System.out.println(list); // 注意:这里直接打印list可能不是最佳实践,具体看需求 | ||
160 | - } | ||
161 | - }; | ||
162 | - Thread backgroundThread = new Thread(task, "后台插入任务线程"); | ||
163 | - backgroundThread.setDaemon(true); // 设置为守护线程,随主线程结束而结束 | ||
164 | - backgroundThread.start(); | ||
165 | - try { | ||
166 | - backgroundThread.join(); // 等待线程执行完毕,确保能准确计算运行时长 | ||
167 | - } catch (InterruptedException e) { | ||
168 | - Thread.currentThread().interrupt(); // 恢复中断状态 | ||
169 | - log.error("导入基础数据-户数,等待线程执行完毕时被中断", e); | 166 | +// Runnable task = () -> { |
167 | + for (McBasicCmty mcBasicCmty : list) { | ||
168 | + mcBasicCmtyService.insertMcBasicCmty(mcBasicCmty); | ||
169 | + System.out.println(list); // 注意:这里直接打印list可能不是最佳实践,具体看需求 | ||
170 | } | 170 | } |
171 | +// }; | ||
172 | +// Thread backgroundThread = new Thread(task, "后台插入任务线程"); | ||
173 | +// backgroundThread.setDaemon(true); // 设置为守护线程,随主线程结束而结束 | ||
174 | +// backgroundThread.start(); | ||
175 | +// try { | ||
176 | +// backgroundThread.join(); // 等待线程执行完毕,确保能准确计算运行时长 | ||
177 | +// } catch (InterruptedException e) { | ||
178 | +// Thread.currentThread().interrupt(); // 恢复中断状态 | ||
179 | +// log.error("导入基础数据-户数,等待线程执行完毕时被中断", e); | ||
180 | +// } | ||
171 | } | 181 | } |
172 | long endTime = System.currentTimeMillis(); // 记录任务结束时间 | 182 | long endTime = System.currentTimeMillis(); // 记录任务结束时间 |
173 | long duration = endTime - startTime; // 计算任务运行时长 | 183 | long duration = endTime - startTime; // 计算任务运行时长 |
174 | log.info("导入基础数据-户数,数据库插入任务运行时长:{}毫秒", duration); | 184 | log.info("导入基础数据-户数,数据库插入任务运行时长:{}毫秒", duration); |
175 | } catch (Exception e) { | 185 | } catch (Exception e) { |
176 | - Throwable cause = e.getCause(); | ||
177 | - if (cause instanceof SQLIntegrityConstraintViolationException) { | ||
178 | - String errMsg = (cause).getMessage(); | ||
179 | - if (StringUtils.isNotEmpty(errMsg) && errMsg.contains("uniq_address")) { | ||
180 | - // 找到第一个引号的索引 | ||
181 | - int startIndex = errMsg.indexOf("\'"); | ||
182 | - // 找到第二个引号的索引 | ||
183 | - int endIndex = errMsg.indexOf("\'", startIndex + 1); | ||
184 | - // 提取引号之间的内容 | ||
185 | - String content = errMsg.substring(startIndex + 1, endIndex); | ||
186 | - throw new RuntimeException("系统中存在相同信息: " + content); | ||
187 | - } | ||
188 | - } | ||
189 | - throw new RuntimeException(e); | 186 | + e.printStackTrace(); |
187 | + return AjaxResult.error(e.getMessage()); | ||
190 | } | 188 | } |
191 | return AjaxResult.success("数据导入成功"); | 189 | return AjaxResult.success("数据导入成功"); |
192 | } | 190 | } |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicMoneyController.java
@@ -11,14 +11,17 @@ import com.chinagas.common.log.annotation.Log; | @@ -11,14 +11,17 @@ import com.chinagas.common.log.annotation.Log; | ||
11 | import com.chinagas.common.log.enums.BusinessType; | 11 | import com.chinagas.common.log.enums.BusinessType; |
12 | import com.chinagas.common.security.annotation.RequirePermission; | 12 | import com.chinagas.common.security.annotation.RequirePermission; |
13 | import com.chinagas.common.security.enums.Logical; | 13 | import com.chinagas.common.security.enums.Logical; |
14 | -import com.chinagas.modules.schsf.domain.McBasicCmty; | ||
15 | import com.chinagas.modules.schsf.domain.McBasicMoney; | 14 | import com.chinagas.modules.schsf.domain.McBasicMoney; |
16 | import com.chinagas.modules.schsf.domain.vo.McBasicMoneyVo; | 15 | import com.chinagas.modules.schsf.domain.vo.McBasicMoneyVo; |
17 | import com.chinagas.modules.schsf.service.IMcBasicMoneyService; | 16 | import com.chinagas.modules.schsf.service.IMcBasicMoneyService; |
17 | +import com.chinagas.modules.schsf.utils.listener.McBasicMoneyImportInspection; | ||
18 | import lombok.extern.slf4j.Slf4j; | 18 | import lombok.extern.slf4j.Slf4j; |
19 | import org.apache.commons.lang3.StringUtils; | 19 | import org.apache.commons.lang3.StringUtils; |
20 | import org.springframework.beans.factory.annotation.Autowired; | 20 | import org.springframework.beans.factory.annotation.Autowired; |
21 | -import org.springframework.web.bind.annotation.*; | 21 | +import org.springframework.web.bind.annotation.GetMapping; |
22 | +import org.springframework.web.bind.annotation.PostMapping; | ||
23 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
24 | +import org.springframework.web.bind.annotation.RestController; | ||
22 | import org.springframework.web.multipart.MultipartFile; | 25 | import org.springframework.web.multipart.MultipartFile; |
23 | 26 | ||
24 | import javax.servlet.http.HttpServletResponse; | 27 | import javax.servlet.http.HttpServletResponse; |
@@ -28,8 +31,6 @@ import java.net.URLEncoder; | @@ -28,8 +31,6 @@ import java.net.URLEncoder; | ||
28 | import java.sql.SQLIntegrityConstraintViolationException; | 31 | import java.sql.SQLIntegrityConstraintViolationException; |
29 | import java.util.List; | 32 | import java.util.List; |
30 | import java.util.Map; | 33 | import java.util.Map; |
31 | -import java.util.Set; | ||
32 | -import java.util.stream.Collectors; | ||
33 | 34 | ||
34 | 35 | ||
35 | /** | 36 | /** |
@@ -81,6 +82,7 @@ public class McBasicMoneyController extends BaseController { | @@ -81,6 +82,7 @@ public class McBasicMoneyController extends BaseController { | ||
81 | // 获取文件的输入流 | 82 | // 获取文件的输入流 |
82 | InputStream inputStream = file.getInputStream(); | 83 | InputStream inputStream = file.getInputStream(); |
83 | List<McBasicMoney> list = EasyExcel.read(inputStream) //调用read方法 | 84 | List<McBasicMoney> list = EasyExcel.read(inputStream) //调用read方法 |
85 | + .registerReadListener(new McBasicMoneyImportInspection()) | ||
84 | // 注册自定义监听器,字段校验可以在监听器内实现 | 86 | // 注册自定义监听器,字段校验可以在监听器内实现 |
85 | .head(McBasicMoney.class) // 对应导入的实体类 | 87 | .head(McBasicMoney.class) // 对应导入的实体类 |
86 | .sheet(0) // 导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据 | 88 | .sheet(0) // 导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据 |
@@ -108,40 +110,27 @@ public class McBasicMoneyController extends BaseController { | @@ -108,40 +110,27 @@ public class McBasicMoneyController extends BaseController { | ||
108 | long startTime = System.currentTimeMillis(); // 记录任务开始时间 | 110 | long startTime = System.currentTimeMillis(); // 记录任务开始时间 |
109 | // 插入数据库 | 111 | // 插入数据库 |
110 | if (CollectionUtils.isNotEmpty(list)) { | 112 | if (CollectionUtils.isNotEmpty(list)) { |
111 | - Runnable task = () -> { | 113 | +// Runnable task = () -> { |
112 | for (McBasicMoney mcBasicCmty : list) { | 114 | for (McBasicMoney mcBasicCmty : list) { |
113 | mcBasicMoneyService.insertMcBasicMoney(mcBasicCmty); | 115 | mcBasicMoneyService.insertMcBasicMoney(mcBasicCmty); |
114 | - System.out.println(list); | ||
115 | } | 116 | } |
116 | - }; | ||
117 | - Thread backgroundThread = new Thread(task, "后台插入任务线程"); | ||
118 | - backgroundThread.setDaemon(true); // 设置为守护线程,随主线程结束而结束 | ||
119 | - backgroundThread.start(); | ||
120 | - try { | ||
121 | - backgroundThread.join(); // 等待线程执行完毕,确保能准确计算运行时长 | ||
122 | - } catch (InterruptedException e) { | ||
123 | - Thread.currentThread().interrupt(); // 恢复中断状态 | ||
124 | - log.error("导入基础数据-户数,等待线程执行完毕时被中断", e); | ||
125 | - } | 117 | +// }; |
118 | +// Thread backgroundThread = new Thread(task, "后台插入任务线程"); | ||
119 | +// backgroundThread.setDaemon(true); // 设置为守护线程,随主线程结束而结束 | ||
120 | +// backgroundThread.start(); | ||
121 | +// try { | ||
122 | +// backgroundThread.join(); // 等待线程执行完毕,确保能准确计算运行时长 | ||
123 | +// } catch (InterruptedException e) { | ||
124 | +// Thread.currentThread().interrupt(); // 恢复中断状态 | ||
125 | +// log.error("导入基础数据-户数,等待线程执行完毕时被中断", e); | ||
126 | +// } | ||
126 | } | 127 | } |
127 | long endTime = System.currentTimeMillis(); // 记录任务结束时间 | 128 | long endTime = System.currentTimeMillis(); // 记录任务结束时间 |
128 | long duration = endTime - startTime; // 计算任务运行时长 | 129 | long duration = endTime - startTime; // 计算任务运行时长 |
129 | log.info("导入基础数据-金额,数据库插入任务运行时长:{}毫秒", duration); | 130 | log.info("导入基础数据-金额,数据库插入任务运行时长:{}毫秒", duration); |
130 | } catch (Exception e) { | 131 | } catch (Exception e) { |
131 | - Throwable cause = e.getCause(); | ||
132 | - if (cause instanceof SQLIntegrityConstraintViolationException) { | ||
133 | - String errMsg = (cause).getMessage(); | ||
134 | - if (StringUtils.isNotEmpty(errMsg) && errMsg.contains("uniq_address")) { | ||
135 | - // 找到第一个引号的索引 | ||
136 | - int startIndex = errMsg.indexOf("\'"); | ||
137 | - // 找到第二个引号的索引 | ||
138 | - int endIndex = errMsg.indexOf("\'", startIndex + 1); | ||
139 | - // 提取引号之间的内容 | ||
140 | - String content = errMsg.substring(startIndex + 1, endIndex); | ||
141 | - throw new RuntimeException("系统中存在相同信息: " + content); | ||
142 | - } | ||
143 | - } | ||
144 | - throw new RuntimeException(e); | 132 | + e.printStackTrace(); |
133 | + return AjaxResult.error(e.getMessage()); | ||
145 | } | 134 | } |
146 | return AjaxResult.success("数据导入成功"); | 135 | return AjaxResult.success("数据导入成功"); |
147 | } | 136 | } |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/mapper/CommonMapper.java
0 → 100644
@@ -0,0 +1,11 @@ | @@ -0,0 +1,11 @@ | ||
1 | +package com.chinagas.modules.schsf.mapper; | ||
2 | + | ||
3 | +import org.apache.ibatis.annotations.Param; | ||
4 | + | ||
5 | +import java.util.HashMap; | ||
6 | + | ||
7 | +public interface CommonMapper { | ||
8 | + HashMap<String, String> selectSysDeptByidName(@Param("deptId") String deptId,@Param("deptName") String deptName); | ||
9 | + | ||
10 | + | ||
11 | +} |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/ICommonService.java
0 → 100644
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/CommonService.java
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +package com.chinagas.modules.schsf.service.impl; | ||
2 | + | ||
3 | +import com.chinagas.modules.schsf.mapper.CommonMapper; | ||
4 | +import com.chinagas.modules.schsf.service.ICommonService; | ||
5 | +import lombok.extern.slf4j.Slf4j; | ||
6 | +import org.springframework.beans.factory.annotation.Autowired; | ||
7 | +import org.springframework.stereotype.Service; | ||
8 | + | ||
9 | +import java.util.HashMap; | ||
10 | + | ||
11 | +@Slf4j | ||
12 | +@Service | ||
13 | +public class CommonService implements ICommonService { | ||
14 | + @Autowired | ||
15 | + private CommonMapper commonMapper; | ||
16 | + | ||
17 | + @Override | ||
18 | + public HashMap<String, String> selectSysDeptByidName(String deptId, String deptName) { | ||
19 | + return commonMapper.selectSysDeptByidName(deptId,deptName); | ||
20 | + } | ||
21 | +} |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/McBasicCmtyServiceImpl.java
1 | package com.chinagas.modules.schsf.service.impl; | 1 | package com.chinagas.modules.schsf.service.impl; |
2 | 2 | ||
3 | +import com.chinagas.common.core.exceptions.ServiceException; | ||
3 | import com.chinagas.common.core.utils.DateUtils; | 4 | import com.chinagas.common.core.utils.DateUtils; |
4 | import com.chinagas.common.datascope.annotation.DataScope; | 5 | import com.chinagas.common.datascope.annotation.DataScope; |
5 | import com.chinagas.common.security.utils.SecurityUtils; | 6 | import com.chinagas.common.security.utils.SecurityUtils; |
@@ -9,6 +10,7 @@ import com.chinagas.modules.schsf.domain.dto.CompanyDto; | @@ -9,6 +10,7 @@ import com.chinagas.modules.schsf.domain.dto.CompanyDto; | ||
9 | import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; | 10 | import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; |
10 | import com.chinagas.modules.schsf.domain.vo.McVisitVo; | 11 | import com.chinagas.modules.schsf.domain.vo.McVisitVo; |
11 | import com.chinagas.modules.schsf.mapper.McBasicCmtyMapper; | 12 | import com.chinagas.modules.schsf.mapper.McBasicCmtyMapper; |
13 | +import com.chinagas.modules.schsf.service.ICommonService; | ||
12 | import com.chinagas.modules.schsf.service.IMcBasicCmtyService; | 14 | import com.chinagas.modules.schsf.service.IMcBasicCmtyService; |
13 | import com.chinagas.modules.schsf.service.IMcConstructionService; | 15 | import com.chinagas.modules.schsf.service.IMcConstructionService; |
14 | import org.springframework.beans.factory.annotation.Autowired; | 16 | import org.springframework.beans.factory.annotation.Autowired; |
@@ -31,6 +33,8 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService { | @@ -31,6 +33,8 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService { | ||
31 | private McBasicCmtyMapper mcBasicCmtyMapper; | 33 | private McBasicCmtyMapper mcBasicCmtyMapper; |
32 | @Autowired | 34 | @Autowired |
33 | private IMcConstructionService iMcConstructionService; | 35 | private IMcConstructionService iMcConstructionService; |
36 | + @Autowired | ||
37 | + private ICommonService commonService; | ||
34 | 38 | ||
35 | /** | 39 | /** |
36 | * 查询基础数据-户数 | 40 | * 查询基础数据-户数 |
@@ -75,6 +79,10 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService { | @@ -75,6 +79,10 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService { | ||
75 | } | 79 | } |
76 | mcBasicCmty.setCreateTime(DateUtils.getNowLocal()); | 80 | mcBasicCmty.setCreateTime(DateUtils.getNowLocal()); |
77 | mcBasicCmty.setCreateBy(SecurityUtils.getUserId().toString()); | 81 | mcBasicCmty.setCreateBy(SecurityUtils.getUserId().toString()); |
82 | + HashMap<String, String> sysDeptByidName = commonService.selectSysDeptByidName(mcBasicCmty.getCompanyCode(), mcBasicCmty.getCompanyName()); | ||
83 | + if (sysDeptByidName == null || sysDeptByidName.size() == 0) { | ||
84 | + throw new ServiceException(String.format("项目公司:‘%s’,项目公司代码:‘%s’,与组织信息不匹配,请核实", mcBasicCmty.getCompanyName(),mcBasicCmty.getCompanyCode())); | ||
85 | + } | ||
78 | int i = mcBasicCmtyMapper.insertMcBasicCmty(mcBasicCmty); | 86 | int i = mcBasicCmtyMapper.insertMcBasicCmty(mcBasicCmty); |
79 | if (i > 0) { | 87 | if (i > 0) { |
80 | iMcConstructionService.insertMcConstructionByMcBasicCmty(mcBasicCmty); | 88 | iMcConstructionService.insertMcConstructionByMcBasicCmty(mcBasicCmty); |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/service/impl/McBasicMoneyServiceImpl.java
@@ -6,10 +6,12 @@ import com.chinagas.common.security.utils.SecurityUtils; | @@ -6,10 +6,12 @@ import com.chinagas.common.security.utils.SecurityUtils; | ||
6 | import com.chinagas.modules.schsf.domain.McBasicMoney; | 6 | import com.chinagas.modules.schsf.domain.McBasicMoney; |
7 | import com.chinagas.modules.schsf.domain.vo.McBasicMoneyVo; | 7 | import com.chinagas.modules.schsf.domain.vo.McBasicMoneyVo; |
8 | import com.chinagas.modules.schsf.mapper.McBasicMoneyMapper; | 8 | import com.chinagas.modules.schsf.mapper.McBasicMoneyMapper; |
9 | +import com.chinagas.modules.schsf.service.ICommonService; | ||
9 | import com.chinagas.modules.schsf.service.IMcBasicMoneyService; | 10 | import com.chinagas.modules.schsf.service.IMcBasicMoneyService; |
10 | import org.springframework.beans.factory.annotation.Autowired; | 11 | import org.springframework.beans.factory.annotation.Autowired; |
11 | import org.springframework.stereotype.Service; | 12 | import org.springframework.stereotype.Service; |
12 | 13 | ||
14 | +import java.util.HashMap; | ||
13 | import java.util.List; | 15 | import java.util.List; |
14 | 16 | ||
15 | /** | 17 | /** |
@@ -23,7 +25,8 @@ public class McBasicMoneyServiceImpl implements IMcBasicMoneyService | @@ -23,7 +25,8 @@ public class McBasicMoneyServiceImpl implements IMcBasicMoneyService | ||
23 | { | 25 | { |
24 | @Autowired | 26 | @Autowired |
25 | private McBasicMoneyMapper mcBasicMoneyMapper; | 27 | private McBasicMoneyMapper mcBasicMoneyMapper; |
26 | - | 28 | + @Autowired |
29 | + private ICommonService commonService; | ||
27 | /** | 30 | /** |
28 | * 查询基础数据-金额 | 31 | * 查询基础数据-金额 |
29 | * | 32 | * |
@@ -68,6 +71,11 @@ public class McBasicMoneyServiceImpl implements IMcBasicMoneyService | @@ -68,6 +71,11 @@ public class McBasicMoneyServiceImpl implements IMcBasicMoneyService | ||
68 | } | 71 | } |
69 | mcBasicMoney.setCreateTime(DateUtils.getNowLocal()); | 72 | mcBasicMoney.setCreateTime(DateUtils.getNowLocal()); |
70 | mcBasicMoney.setCreateBy(SecurityUtils.getUserId().toString()); | 73 | mcBasicMoney.setCreateBy(SecurityUtils.getUserId().toString()); |
74 | + HashMap<String, String> sysDeptByidName = commonService.selectSysDeptByidName(mcBasicMoney.getCompanyCode(), mcBasicMoney.getCompanyName()); | ||
75 | + if (sysDeptByidName == null || sysDeptByidName.size() == 0) { | ||
76 | + throw new RuntimeException(String.format("项目公司:‘%s’,项目公司代码:‘%s’,与组织信息不匹配,请核实", mcBasicMoney.getCompanyName(),mcBasicMoney.getCompanyCode())); | ||
77 | + } | ||
78 | + | ||
71 | return mcBasicMoneyMapper.insertMcBasicMoney(mcBasicMoney); | 79 | return mcBasicMoneyMapper.insertMcBasicMoney(mcBasicMoney); |
72 | } | 80 | } |
73 | 81 |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java
@@ -5,14 +5,19 @@ import com.alibaba.excel.event.AnalysisEventListener; | @@ -5,14 +5,19 @@ import com.alibaba.excel.event.AnalysisEventListener; | ||
5 | import com.alibaba.excel.exception.ExcelDataConvertException; | 5 | import com.alibaba.excel.exception.ExcelDataConvertException; |
6 | import com.chinagas.common.core.utils.StringUtils; | 6 | import com.chinagas.common.core.utils.StringUtils; |
7 | import com.chinagas.modules.schsf.domain.McBasicCmty; | 7 | import com.chinagas.modules.schsf.domain.McBasicCmty; |
8 | +import com.chinagas.modules.schsf.service.ICommonService; | ||
9 | +import org.springframework.beans.factory.annotation.Autowired; | ||
10 | + | ||
11 | +import java.util.HashMap; | ||
8 | 12 | ||
9 | public class McBasicCmtyImportInspection extends AnalysisEventListener { | 13 | public class McBasicCmtyImportInspection extends AnalysisEventListener { |
10 | 14 | ||
11 | @Override | 15 | @Override |
12 | public void invoke(Object data, AnalysisContext context) { | 16 | public void invoke(Object data, AnalysisContext context) { |
17 | + | ||
13 | McBasicCmty mcBasicCmty = (McBasicCmty) data; | 18 | McBasicCmty mcBasicCmty = (McBasicCmty) data; |
14 | System.out.println(mcBasicCmty); | 19 | System.out.println(mcBasicCmty); |
15 | - if (mcBasicCmty.getFiscalYear()==null) { | 20 | + if (mcBasicCmty.getFiscalYear() == null) { |
16 | throw new RuntimeException(String.format("第%s行 财年 为空,请核实", context.readRowHolder().getRowIndex() + 1)); | 21 | throw new RuntimeException(String.format("第%s行 财年 为空,请核实", context.readRowHolder().getRowIndex() + 1)); |
17 | } | 22 | } |
18 | if (StringUtils.isEmpty(mcBasicCmty.getRegionName())) { | 23 | if (StringUtils.isEmpty(mcBasicCmty.getRegionName())) { |
@@ -29,9 +34,6 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener { | @@ -29,9 +34,6 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener { | ||
29 | } | 34 | } |
30 | } | 35 | } |
31 | 36 | ||
32 | - | ||
33 | - | ||
34 | - | ||
35 | /** | 37 | /** |
36 | * 出现异常回调 | 38 | * 出现异常回调 |
37 | * | 39 | * |
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicMoneyImportInspection.java
0 → 100644
@@ -0,0 +1,43 @@ | @@ -0,0 +1,43 @@ | ||
1 | +package com.chinagas.modules.schsf.utils.listener; | ||
2 | + | ||
3 | +import com.alibaba.excel.context.AnalysisContext; | ||
4 | +import com.alibaba.excel.event.AnalysisEventListener; | ||
5 | +import com.alibaba.excel.exception.ExcelDataConvertException; | ||
6 | +import com.chinagas.common.core.utils.StringUtils; | ||
7 | +import com.chinagas.modules.schsf.domain.McBasicMoney; | ||
8 | + | ||
9 | +public class McBasicMoneyImportInspection extends AnalysisEventListener { | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + @Override | ||
14 | + public void invoke(Object data, AnalysisContext context) { | ||
15 | + McBasicMoney mcBasicMoney = (McBasicMoney) data; | ||
16 | + if (StringUtils.isEmpty(mcBasicMoney.getCompanyName())) { | ||
17 | + throw new RuntimeException(String.format("第%s行 项目公司 为空,请核实", context.readRowHolder().getRowIndex() + 1)); | ||
18 | + } | ||
19 | + if (StringUtils.isEmpty(mcBasicMoney.getCompanyCode())) { | ||
20 | + throw new RuntimeException(String.format("第%s行 公司代码 为空,请核实", context.readRowHolder().getRowIndex() + 1)); | ||
21 | + } | ||
22 | + } | ||
23 | + | ||
24 | + @Override | ||
25 | + public void onException(Exception exception, AnalysisContext context) throws Exception { | ||
26 | + if (exception instanceof ExcelDataConvertException) { | ||
27 | + /**从0开始计算*/ | ||
28 | + Integer columnIndex = ((ExcelDataConvertException) exception).getColumnIndex() + 1; | ||
29 | + Integer rowIndex = ((ExcelDataConvertException) exception).getRowIndex() + 1; | ||
30 | + String message = "第" + rowIndex + "行,第" + columnIndex + "列" + "数据格式有误,请核实"; | ||
31 | + throw new RuntimeException(message); | ||
32 | + } else if (exception instanceof RuntimeException) { | ||
33 | + throw exception; | ||
34 | + } else { | ||
35 | + super.onException(exception, context); | ||
36 | + } | ||
37 | + } | ||
38 | + | ||
39 | + @Override | ||
40 | + public void doAfterAllAnalysed(AnalysisContext analysisContext) { | ||
41 | + | ||
42 | + } | ||
43 | +} |
zr-cloud/zr-modules/zr-schsf/src/main/resources/mapper/CommonMapper.xml
0 → 100644
@@ -0,0 +1,10 @@ | @@ -0,0 +1,10 @@ | ||
1 | +<?xml version="1.0" encoding="UTF-8" ?> | ||
2 | +<!DOCTYPE mapper | ||
3 | + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" | ||
4 | + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
5 | +<mapper namespace="com.chinagas.modules.schsf.mapper.CommonMapper"> | ||
6 | + | ||
7 | + <select id="selectSysDeptByidName" resultType="java.util.HashMap" parameterType="java.lang.String"> | ||
8 | + SELECT dept_id,dept_name FROM sys_dept WHERE dept_id=#{deptId,jdbcType=VARCHAR} and dept_name=#{deptName,jdbcType=VARCHAR} | ||
9 | + </select> | ||
10 | +</mapper> |