Hyung Geun 2022-04-18 09:21:22 +09:00
commit 989c42f1b6
3 changed files with 32 additions and 28 deletions

View File

@ -103,7 +103,7 @@ public class ExcelExporter<T> extends AbstractExcelExport {
Object o = ((Map<?, ?>) t).get(key);
if (o instanceof String) {
value = o.toString();
} else if (o instanceof Integer || o instanceof Double) {
} else if (o instanceof Integer || o instanceof Double || o instanceof Long) {
value = String.valueOf(o);
} else if (o instanceof BigDecimal) {
value = ((BigDecimal) o).toString();

View File

@ -87,37 +87,37 @@ public class FaController {
*/
@RequestMapping("/memberManagePersonnelExcel.do")
public String memberManagePersonnelExcel(final Model model) throws Exception {
String title = "외사경찰 정원 및 현원 현황";
List<HashMap<String, Object>> resultList = memberService.getCapacityManagement();
LinkedHashMap<String, String> header = new LinkedHashMap<String, String>();
header.put("CODENM", "구분");
header.put("TOT_CNT", "전체 정원");
header.put("CURRENT_CNT", "현재 정원");
header.put("EXCESS", "과부족");
header.put("POSITION204", "총경 정원");
header.put("CNT_204", "총경 현원");
header.put("codenm", "구분");
header.put("tot_cnt", "전체 정원");
header.put("current_cnt", "현재 정원");
header.put("excess", "과부족");
header.put("position204", "총경 정원");
header.put("cnt_204", "총경 현원");
header.put("POSITION203", "경정 정원");
header.put("CNT_203", "경정 현원");
header.put("position203", "경정 정원");
header.put("cnt_203", "경정 현원");
header.put("POSITION202", "경감 정원");
header.put("CNT_202", "경감 현원");
header.put("position202", "경감 정원");
header.put("cnt_202", "경감 현원");
header.put("POSITION201", "경위 정원");
header.put("CNT_201", "경위 현원");
header.put("position201", "경위 정원");
header.put("cnt_201", "경위 현원");
header.put("POSITION104", "경사 정원");
header.put("CNT_104", "경사 현원");
header.put("position104", "경사 정원");
header.put("cnt_104", "경사 현원");
header.put("POSITION103", "경장 정원");
header.put("CNT_103", "경장 현원");
header.put("POSITION102", "순경 정원");
header.put("CNT_102", "순경 현원");
header.put("position103", "경장 정원");
header.put("cnt_103", "경장 현원");
header.put("position102", "순경 정원");
header.put("cnt_102", "순경 현원");
String title = "외사경찰 정원 및 현원 현황";
model.addAttribute("excel", new ExcelExporter<HashMap<String, Object>>(header, resultList, title));
model.addAttribute("filename", title);

View File

@ -482,11 +482,15 @@
<select id="Member.getCapacityManagement" resultType="hashmap">
<![CDATA[
SELECT
CASE RESULT_LIST.PLACE WHEN 'PS0' THEN '계' WHEN 'PS001' THEN '소계' ELSE CODE.CODENM END AS CODENM,
RESULT_LIST.*, CURRENT_CNT - TOT_CNT AS EXCESS
SELECT CASE RESULT_LIST.PLACE
WHEN 'PS0' THEN '계'
WHEN 'PS001' THEN '소계'
ELSE CODE.CODENM
END AS CODENM,
RESULT_LIST.*,
CURRENT_CNT - TOT_CNT AS EXCESS
FROM (
SELECT
SELECT
A.PLACE1 AS PLACE,
COALESCE(A.TOT_CNT, 0) AS TOT_CNT,
COALESCE(B.CURRENT_CNT,0) AS CURRENT_CNT,
@ -509,7 +513,7 @@
SUM(COALESCE(POSITION103,0)) AS POSITION103,
SUM(COALESCE(POSITION102,0)) AS POSITION102
FROM TAGENTNUM
WHERE PLACE1 <> 'PS95'
WHERE PLACE1 <> 'PS95'
) A INNER JOIN (
SELECT
'PS0' AS PLACE1,