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 | 14 | import com.chinagas.modules.schsf.domain.McBasicCmty; |
15 | 15 | import com.chinagas.modules.schsf.domain.dto.CompanyDto; |
16 | 16 | import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; |
17 | +import com.chinagas.modules.schsf.service.ICommonService; | |
17 | 18 | import com.chinagas.modules.schsf.service.IMcBasicCmtyService; |
18 | 19 | import com.chinagas.modules.schsf.utils.listener.McBasicCmtyImportInspection; |
19 | 20 | import lombok.extern.slf4j.Slf4j; |
... | ... | @@ -27,6 +28,7 @@ import java.io.IOException; |
27 | 28 | import java.io.InputStream; |
28 | 29 | import java.net.URLEncoder; |
29 | 30 | import java.sql.SQLIntegrityConstraintViolationException; |
31 | +import java.util.HashMap; | |
30 | 32 | import java.util.List; |
31 | 33 | import java.util.Map; |
32 | 34 | import java.util.Set; |
... | ... | @@ -45,6 +47,8 @@ import java.util.stream.Collectors; |
45 | 47 | public class McBasicCmtyController extends BaseController { |
46 | 48 | @Autowired |
47 | 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 | 127 | throw new RuntimeException("文件大小不得超过5M"); |
124 | 128 | } |
125 | 129 | try { |
130 | + | |
131 | + | |
126 | 132 | // 获取文件的输入流 |
127 | 133 | InputStream inputStream = file.getInputStream(); |
128 | 134 | List<McBasicCmty> list = EasyExcel.read(inputStream) //调用read方法 |
... | ... | @@ -133,6 +139,10 @@ public class McBasicCmtyController extends BaseController { |
133 | 139 | .headRowNumber(4) // 列表头行数,1代表列表头有1行,第二行开始为数据行 |
134 | 140 | .doReadSync(); // 开始读Excel,返回一个List<T>集合,继续后续入库操作 |
135 | 141 | log.info("导入基础数据-户数总条数:{}", list == null ? 0 : list.size()); |
142 | + | |
143 | +// List<HashMap<String, String>> sysDeptAlls = commonService.selectSysDeptAll(); | |
144 | + | |
145 | + | |
136 | 146 | // // 检验重复数据 |
137 | 147 | // Map<String, List<McBasicCmty>> collect = list.stream().collect(Collectors.groupingBy(o -> |
138 | 148 | // o.getRegionName() + |
... | ... | @@ -153,40 +163,28 @@ public class McBasicCmtyController extends BaseController { |
153 | 163 | long startTime = System.currentTimeMillis(); // 记录任务开始时间 |
154 | 164 | // 插入数据库 |
155 | 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 | 182 | long endTime = System.currentTimeMillis(); // 记录任务结束时间 |
173 | 183 | long duration = endTime - startTime; // 计算任务运行时长 |
174 | 184 | log.info("导入基础数据-户数,数据库插入任务运行时长:{}毫秒", duration); |
175 | 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 | 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 | 11 | import com.chinagas.common.log.enums.BusinessType; |
12 | 12 | import com.chinagas.common.security.annotation.RequirePermission; |
13 | 13 | import com.chinagas.common.security.enums.Logical; |
14 | -import com.chinagas.modules.schsf.domain.McBasicCmty; | |
15 | 14 | import com.chinagas.modules.schsf.domain.McBasicMoney; |
16 | 15 | import com.chinagas.modules.schsf.domain.vo.McBasicMoneyVo; |
17 | 16 | import com.chinagas.modules.schsf.service.IMcBasicMoneyService; |
17 | +import com.chinagas.modules.schsf.utils.listener.McBasicMoneyImportInspection; | |
18 | 18 | import lombok.extern.slf4j.Slf4j; |
19 | 19 | import org.apache.commons.lang3.StringUtils; |
20 | 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 | 25 | import org.springframework.web.multipart.MultipartFile; |
23 | 26 | |
24 | 27 | import javax.servlet.http.HttpServletResponse; |
... | ... | @@ -28,8 +31,6 @@ import java.net.URLEncoder; |
28 | 31 | import java.sql.SQLIntegrityConstraintViolationException; |
29 | 32 | import java.util.List; |
30 | 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 | 82 | // 获取文件的输入流 |
82 | 83 | InputStream inputStream = file.getInputStream(); |
83 | 84 | List<McBasicMoney> list = EasyExcel.read(inputStream) //调用read方法 |
85 | + .registerReadListener(new McBasicMoneyImportInspection()) | |
84 | 86 | // 注册自定义监听器,字段校验可以在监听器内实现 |
85 | 87 | .head(McBasicMoney.class) // 对应导入的实体类 |
86 | 88 | .sheet(0) // 导入数据的sheet页编号,0代表第一个sheet页,如果不填,则会导入所有sheet页的数据 |
... | ... | @@ -108,40 +110,27 @@ public class McBasicMoneyController extends BaseController { |
108 | 110 | long startTime = System.currentTimeMillis(); // 记录任务开始时间 |
109 | 111 | // 插入数据库 |
110 | 112 | if (CollectionUtils.isNotEmpty(list)) { |
111 | - Runnable task = () -> { | |
113 | +// Runnable task = () -> { | |
112 | 114 | for (McBasicMoney mcBasicCmty : list) { |
113 | 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 | 128 | long endTime = System.currentTimeMillis(); // 记录任务结束时间 |
128 | 129 | long duration = endTime - startTime; // 计算任务运行时长 |
129 | 130 | log.info("导入基础数据-金额,数据库插入任务运行时长:{}毫秒", duration); |
130 | 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 | 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 @@ |
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 @@ |
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 | 1 | package com.chinagas.modules.schsf.service.impl; |
2 | 2 | |
3 | +import com.chinagas.common.core.exceptions.ServiceException; | |
3 | 4 | import com.chinagas.common.core.utils.DateUtils; |
4 | 5 | import com.chinagas.common.datascope.annotation.DataScope; |
5 | 6 | import com.chinagas.common.security.utils.SecurityUtils; |
... | ... | @@ -9,6 +10,7 @@ import com.chinagas.modules.schsf.domain.dto.CompanyDto; |
9 | 10 | import com.chinagas.modules.schsf.domain.vo.McBasicCmtyVo; |
10 | 11 | import com.chinagas.modules.schsf.domain.vo.McVisitVo; |
11 | 12 | import com.chinagas.modules.schsf.mapper.McBasicCmtyMapper; |
13 | +import com.chinagas.modules.schsf.service.ICommonService; | |
12 | 14 | import com.chinagas.modules.schsf.service.IMcBasicCmtyService; |
13 | 15 | import com.chinagas.modules.schsf.service.IMcConstructionService; |
14 | 16 | import org.springframework.beans.factory.annotation.Autowired; |
... | ... | @@ -31,6 +33,8 @@ public class McBasicCmtyServiceImpl implements IMcBasicCmtyService { |
31 | 33 | private McBasicCmtyMapper mcBasicCmtyMapper; |
32 | 34 | @Autowired |
33 | 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 | 79 | } |
76 | 80 | mcBasicCmty.setCreateTime(DateUtils.getNowLocal()); |
77 | 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 | 86 | int i = mcBasicCmtyMapper.insertMcBasicCmty(mcBasicCmty); |
79 | 87 | if (i > 0) { |
80 | 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 | 6 | import com.chinagas.modules.schsf.domain.McBasicMoney; |
7 | 7 | import com.chinagas.modules.schsf.domain.vo.McBasicMoneyVo; |
8 | 8 | import com.chinagas.modules.schsf.mapper.McBasicMoneyMapper; |
9 | +import com.chinagas.modules.schsf.service.ICommonService; | |
9 | 10 | import com.chinagas.modules.schsf.service.IMcBasicMoneyService; |
10 | 11 | import org.springframework.beans.factory.annotation.Autowired; |
11 | 12 | import org.springframework.stereotype.Service; |
12 | 13 | |
14 | +import java.util.HashMap; | |
13 | 15 | import java.util.List; |
14 | 16 | |
15 | 17 | /** |
... | ... | @@ -23,7 +25,8 @@ public class McBasicMoneyServiceImpl implements IMcBasicMoneyService |
23 | 25 | { |
24 | 26 | @Autowired |
25 | 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 | 71 | } |
69 | 72 | mcBasicMoney.setCreateTime(DateUtils.getNowLocal()); |
70 | 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 | 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 | 5 | import com.alibaba.excel.exception.ExcelDataConvertException; |
6 | 6 | import com.chinagas.common.core.utils.StringUtils; |
7 | 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 | 13 | public class McBasicCmtyImportInspection extends AnalysisEventListener { |
10 | 14 | |
11 | 15 | @Override |
12 | 16 | public void invoke(Object data, AnalysisContext context) { |
17 | + | |
13 | 18 | McBasicCmty mcBasicCmty = (McBasicCmty) data; |
14 | 19 | System.out.println(mcBasicCmty); |
15 | - if (mcBasicCmty.getFiscalYear()==null) { | |
20 | + if (mcBasicCmty.getFiscalYear() == null) { | |
16 | 21 | throw new RuntimeException(String.format("第%s行 财年 为空,请核实", context.readRowHolder().getRowIndex() + 1)); |
17 | 22 | } |
18 | 23 | if (StringUtils.isEmpty(mcBasicCmty.getRegionName())) { |
... | ... | @@ -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 @@ |
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 @@ |
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> | ... | ... |