외사방첩관리 권한 점검 및 오류수정.

master
강석 최 2023-03-15 13:31:24 +09:00
parent a85d179341
commit 5ea64b14ac
14 changed files with 502 additions and 591 deletions

View File

@ -2,10 +2,7 @@ package com.dbnt.faisp.main.counterIntelligence;
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
import com.dbnt.faisp.main.counterIntelligence.model.CiWorkStatistics;
import com.dbnt.faisp.main.counterIntelligence.model.CiaFile;
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceActivity;
import com.dbnt.faisp.main.counterIntelligence.model.CounterIntelligenceWork;
import com.dbnt.faisp.main.counterIntelligence.model.*;
import com.dbnt.faisp.main.counterIntelligence.service.CounterIntelligenceService;
import com.dbnt.faisp.main.equip.model.Equip;
import com.dbnt.faisp.main.equip.model.EquipFile;
@ -106,12 +103,20 @@ public class CounterIntelligenceController {
}
}
@GetMapping("/CiWorkStatistics")
public ModelAndView ciWorkStatistics(CiWorkStatistics ciWorkStatistics){
public ModelAndView ciWorkStatistics(@AuthenticationPrincipal UserInfo loginUser, CiWorkStatistics ciWorkStatistics){
if(ciWorkStatistics.getYear()==null){
ciWorkStatistics.setYear(LocalDateTime.now().getYear());
}
ModelAndView mav = new ModelAndView("counterIntelligence/ciWork/ciWorkStatistics");
mav.addObject("yearList", ciService.selectCiWorkYearList());
String accessAuth = authMgtService.selectAccessConfigList
(loginUser.getUserSeq(), "/counterIntelligence/ciWorkList").get(0).getAccessAuth();
if(accessAuth.equals("ACC003")) {
ciWorkStatistics.setDownOrganCdList(loginUser.getDownOrganCdList());
}else{
ciWorkStatistics.setOgCd(loginUser.getOgCd());
}
mav.addObject("ciWorkStatisticsList", ciService.selectCiWorkStatisticsList(ciWorkStatistics));
mav.addObject("searchParams", ciWorkStatistics);
return mav;
@ -141,8 +146,9 @@ public class CounterIntelligenceController {
ModelAndView mav = new ModelAndView("counterIntelligence/ciaSaftyDemandEditModal");
if(cia.getCiKey() != null) {
cia = ciService.selectSaftyDemandInfo(cia);
}else{
cia.setSaftyDemandInfo(new SaftyDemandInfo());
}
mav.addObject("cia", cia);
return mav;
}
@ -215,6 +221,8 @@ public class CounterIntelligenceController {
ModelAndView mav = new ModelAndView("counterIntelligence/ciaManageCompanyEditModal");
if(cia.getCiKey() != null) {
cia = ciService.selectManageCompanyInfo(cia);
}else{
cia.setManageCompanyInfo(new ManageCompanyInfo());
}
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
@ -258,6 +266,8 @@ public class CounterIntelligenceController {
ModelAndView mav = new ModelAndView("counterIntelligence/ciaForeignerEditModal");
if(cia.getCiKey() != null) {
cia = ciService.selectForeignerInfo(cia);
}else{
cia.setForeignerInfo(new ForeignerInfo());
}
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
@ -301,6 +311,8 @@ public class CounterIntelligenceController {
ModelAndView mav = new ModelAndView("counterIntelligence/ciaEduEditModal");
if(cia.getCiKey() != null) {
cia = ciService.selectEduInfo(cia);
}else{
cia.setEduInfo(new EduInfo());
}
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());

View File

@ -31,8 +31,9 @@ public class ActivityCaseController {
mav.addObject("ogCd", loginUser.getOgCd());
if(accessAuth.equals("ACC003")){
activityCase.setWrtOrgan(loginUser.getOgCd());
activityCase.setDownOrganCdList(loginUser.getDownOrganCdList());
}else{
activityCase.setWrtOrgan(loginUser.getOgCd());
}
activityCase.setWrtUserSeq(loginUser.getUserSeq());
activityCase.setQueryInfo();

View File

@ -4,6 +4,8 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@ -17,4 +19,6 @@ public class CiWorkStatistics {
private Integer thisYearWorkEndCnt=0;
private Integer year;
private String ogCd;
private List<String> downOrganCdList;
}

View File

@ -6,14 +6,6 @@
<mapper namespace="com.dbnt.faisp.main.counterIntelligence.activityCase.mapper.ActivityCaseMapper">
<sql id="selectActivityCaseListWhere">
<where>
<if test='wrtUserSeq != null and wrtUserSeq != 0'>
and (a.wrt_user_seq = #{wrtUserSeq}
or a.receipt_key in (select a.receipt_key
from activity_case_info a
inner join activity_case_apprv b
on a.case_key = b.case_key
where b.user_seq = #{wrtUserSeq}))
</if>
<if test='receiptKey != null and receiptKey != ""'>
and a.receipt_key = #{receiptKey}
</if>
@ -63,6 +55,15 @@
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
and a.wrt_organ = #{wrtOrgan}
<if test='wrtUserSeq != null and wrtUserSeq != 0'>
and (a.wrt_user_seq = #{wrtUserSeq}
or a.receipt_key in (select a.receipt_key
from activity_case_info a
inner join activity_case_apprv b
on a.case_key = b.case_key
where b.user_seq = #{wrtUserSeq}))
</if>
</if>
<if test="downOrganCdList != null">
and a.wrt_organ in

View File

@ -24,10 +24,10 @@
</if>
<if test='hashTags != null and hashTags != ""'>
and a.ciw_key in (
select aa.ciw_key
from hash_tag_link_ciw aa
inner join hash_tag ab on aa.tag_key = ab.tag_key
where ab.tag_nm like '%'||#{hashTags}||'%'
select aa.ciw_key
from hash_tag_link_ciw aa
inner join hash_tag ab on aa.tag_key = ab.tag_key
where ab.tag_nm like '%'||#{hashTags}||'%'
)
</if>
<if test='dateSelector == "workStartDate"'>
@ -80,20 +80,20 @@
</sql>
<select id="selectCounterIntelligenceWorkList" parameterType="CounterIntelligenceWork" resultType="CounterIntelligenceWork">
select a.ciw_key,
a.status,
a.work_rating,
a.work_start_date,
a.work_end_date,
a.re_rating_date1,
a.re_rating_date2,
a.title,
a.wrt_organ,
a.wrt_part,
a.wrt_user_seq,
a.wrt_user_grd,
a.wrt_user_nm,
a.wrt_dt,
b.fileCnt
a.status,
a.work_rating,
a.work_start_date,
a.work_end_date,
a.re_rating_date1,
a.re_rating_date2,
a.title,
a.wrt_organ,
a.wrt_part,
a.wrt_user_seq,
a.wrt_user_grd,
a.wrt_user_nm,
a.wrt_dt,
b.fileCnt
from counter_intelligence_work a
left outer join (select ciw_key, count(*) as fileCnt from ciw_file group by ciw_key) b
on a.ciw_key = b.ciw_key
@ -123,16 +123,25 @@
count(case when work_start_date >= (#{year}||'-01-01')::date and work_start_date &lt;= (#{year}+1||'-01-01')::date and work_end_date >= (#{year}||'-01-01')::date and work_end_date &lt; (#{year}+1||'-01-01')::date then 1 end) as thisYearWorkEndCnt
from counter_intelligence_work a
WHERE a.status = 'DST007'
<if test='ogCd != null and ogCd != ""'>
and a.wrt_organ = #{ogCd}
</if>
<if test="downOrganCdList != null">
and a.wrt_organ in
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
#{organCd}
</foreach>
</if>
group by work_rating
order by work_rating
</select>
<select id="selectCiWorkYearList" resultType="int">
select year
from ( select EXTRACT(YEAR FROM work_start_date) AS year
from counter_intelligence_work
where status &lt;> 'DST008'
union
select EXTRACT(YEAR FROM now()) AS year
from counter_intelligence_work
where status &lt;> 'DST008'
union
select EXTRACT(YEAR FROM now()) AS year
) a
group by year
order by year desc
@ -141,198 +150,196 @@
<select id="selectCiaSaftyDemandList" parameterType="CounterIntelligenceActivity" resultType="CounterIntelligenceActivity">
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = cia.wrt_organ) as wrt_organ,
sdi.local_info,
sdi.outlook_problem,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
safty_demand_info sdi
where cia.ci_key = sdi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = cia.wrt_organ) as wrt_organ,
sdi.local_info,
sdi.outlook_problem,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
safty_demand_info sdi
where cia.ci_key = sdi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='startDate != null and startDate != ""'>
</if>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and cia.wrt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and cia.wrt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
LIMIT #{rowCnt} OFFSET #{firstIndex}
</select>
<select id="selectCiaSaftyDemandListCnt" parameterType="CounterIntelligenceActivity" resultType="Integer">
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = cia.wrt_organ) as wrt_organ,
sdi.local_info,
sdi.outlook_problem,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
safty_demand_info sdi
where cia.ci_key = sdi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and cia.wrt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = cia.wrt_organ) as wrt_organ,
sdi.local_info,
sdi.outlook_problem,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
safty_demand_info sdi
where cia.ci_key = sdi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and cia.wrt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
</select>
<select id="selectCiaManageCompanyList" parameterType="CounterIntelligenceActivity" resultType="CounterIntelligenceActivity">
<select id="selectCiaManageCompanyList" parameterType="CounterIntelligenceActivity" resultType="CounterIntelligenceActivity">
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = mci.mgt_organ) as mgt_organ,
mci.company_nm,
mci.company_location,
mci.related_field,
mci.description,
mci.cell_phone,
mci.department,
mci."name",
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
manage_company_info mci
where cia.ci_key = mci.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = mci.mgt_organ) as mgt_organ,
mci.company_nm,
mci.company_location,
mci.related_field,
mci.description,
mci.cell_phone,
mci.department,
mci."name",
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
manage_company_info mci
where cia.ci_key = mci.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='companyNm != null and companyNm != ""'>
</if>
<if test='companyNm != null and companyNm != ""'>
and mci.company_nm like '%'||#{companyNm}||'%'
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='startDate != null and startDate != ""'>
</if>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and mci.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and mci.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
LIMIT #{rowCnt} OFFSET #{firstIndex}
</select>
<select id="selectCiaManageCompanyListCnt" parameterType="CounterIntelligenceActivity" resultType="Integer">
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = mci.mgt_organ) as mgt_organ,
mci.company_nm,
mci.company_location,
mci.related_field,
mci.description,
mci.cell_phone,
mci.department,
mci."name",
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
manage_company_info mci
where cia.ci_key = mci.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='companyNm != null and companyNm != ""'>
and mci.company_nm like '%'||#{companyNm}||'%'
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and mci.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
cia.ci_type,
(select item_value from code_mgt where item_cd = mci.mgt_organ) as mgt_organ,
mci.company_nm,
mci.company_location,
mci.related_field,
mci.description,
mci.cell_phone,
mci.department,
mci."name",
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia, manage_company_info mci
where cia.ci_key = mci.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='companyNm != null and companyNm != ""'>
and mci.company_nm like '%'||#{companyNm}||'%'
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
and mci.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
</select>
<select id="selectCiaForeignerList" parameterType="CounterIntelligenceActivity" resultType="CounterIntelligenceActivity">
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = fi.mgt_organ) as mgt_organ,
fi.manager,
fi.commu_location,
fi.commu_national,
fi.commu_address,
fi.select_reason,
fi.monitoring_info,
fi.fix_date,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
foreigner_info fi
where cia.ci_key = fi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='manager != null and manager != ""'>
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = fi.mgt_organ) as mgt_organ,
fi.manager,
fi.commu_location,
fi.commu_national,
fi.commu_address,
fi.select_reason,
fi.monitoring_info,
fi.fix_date,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia, foreigner_info fi
where cia.ci_key = fi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='manager != null and manager != ""'>
and fi.manager like '%'||#{manager}||'%'
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='dateSelector == "fixDate"'>
</if>
<if test='dateSelector == "fixDate"'>
<if test='startDate != null and startDate != ""'>
and fi.fix_date >= #{startDate}::date
</if>
@ -340,101 +347,99 @@
and fi.fix_date &lt;= #{endDate}::date
</if>
</if>
<if test='dateSelector == "wrtDt"'>
<if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
</if>
and fi.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
and fi.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
LIMIT #{rowCnt} OFFSET #{firstIndex}
</select>
<select id="selectCiaForeignerListCnt" parameterType="CounterIntelligenceActivity" resultType="Integer">
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = fi.mgt_organ) as mgt_organ,
fi.manager,
fi.commu_location,
fi.commu_national,
fi.commu_address,
fi.select_reason,
fi.monitoring_info,
fi.fix_date,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
foreigner_info fi
where cia.ci_key = fi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='manager != null and manager != ""'>
and fi.manager like '%'||#{manager}||'%'
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='dateSelector == "fixDate"'>
<if test='startDate != null and startDate != ""'>
and fi.fix_date >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and fi.fix_date &lt;= #{endDate}::date
</if>
</if>
<if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
</if>
and fi.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = fi.mgt_organ) as mgt_organ,
fi.manager,
fi.commu_location,
fi.commu_national,
fi.commu_address,
fi.select_reason,
fi.monitoring_info,
fi.fix_date,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia, foreigner_info fi
where cia.ci_key = fi.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='manager != null and manager != ""'>
and fi.manager like '%'||#{manager}||'%'
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
and cia.wrt_organ = #{wrtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='dateSelector == "fixDate"'>
<if test='startDate != null and startDate != ""'>
and fi.fix_date >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and fi.fix_date &lt;= #{endDate}::date
</if>
</if>
<if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
</if>
and fi.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
</select>
<select id="selectCiaEduList" parameterType="CounterIntelligenceActivity" resultType="CounterIntelligenceActivity">
select cia.ci_key,
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = ei.mgt_organ) as mgt_organ,
ei.edu_date,
ei.edu_type,
ei.people_cnt,
ei.description,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
edu_info ei
where cia.ci_key = ei.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='mgtOrgan != null and mgtOrgan != ""'>
(select item_value from code_mgt where item_cd = ei.mgt_organ) as mgt_organ,
ei.edu_date,
ei.edu_type,
ei.people_cnt,
ei.description,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia, edu_info ei
where cia.ci_key = ei.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='mgtOrgan != null and mgtOrgan != ""'>
and ei.mgt_organ = #{mgtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='dateSelector == "eduDate"'>
</if>
<if test='dateSelector == "eduDate"'>
<if test='startDate != null and startDate != ""'>
and ei.edu_date >= #{startDate}::date
</if>
@ -442,69 +447,68 @@
and ei.edu_date &lt;= #{endDate}::date
</if>
</if>
<if test='dateSelector == "wrtDt"'>
<if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
</if>
and ei.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
</if>
and ei.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
LIMIT #{rowCnt} OFFSET #{firstIndex}
</select>
<select id="selectCiaEduListCnt" parameterType="CounterIntelligenceActivity" resultType="Integer">
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = ei.mgt_organ) as mgt_organ,
ei.edu_date,
ei.edu_type,
ei.people_cnt,
ei.description,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia,
edu_info ei
where cia.ci_key = ei.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='mgtOrgan != null and mgtOrgan != ""'>
and ei.mgt_organ = #{mgtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='dateSelector == "eduDate"'>
<if test='startDate != null and startDate != ""'>
and ei.edu_date >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and ei.edu_date &lt;= #{endDate}::date
</if>
</if>
<if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
</if>
and ei.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
select count(*)
from(
select cia.ci_key,
(select item_value from code_mgt where item_cd = cia.content_status) as content_status,
(select item_value from code_mgt where item_cd = ei.mgt_organ) as mgt_organ,
ei.edu_date,
ei.edu_type,
ei.people_cnt,
ei.description,
(select item_value from code_mgt where item_cd = cia.wrt_user_grd) as wrt_user_grd,
cia.wrt_user_seq,
cia.wrt_user_nm,
cia.wrt_dt
from counter_intelligence_activity cia, edu_info ei
where cia.ci_key = ei.ci_key
and cia.content_status != 'DST008'
and ((cia.wrt_user_seq = #{wrtUserSeq} and cia.content_status = 'DST001') or cia.content_status = 'DST007')
<if test='mgtOrgan != null and mgtOrgan != ""'>
and ei.mgt_organ = #{mgtOrgan}
</if>
<if test='wrtUserNm != null and wrtUserNm != ""'>
and cia.wrt_user_nm like '%'||#{wrtUserNm}||'%'
</if>
<if test='dateSelector == "eduDate"'>
<if test='startDate != null and startDate != ""'>
and ei.edu_date >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and ei.edu_date &lt;= #{endDate}::date
</if>
</if>
<if test='dateSelector == "wrtDt"'>
<if test='startDate != null and startDate != ""'>
and cia.wrt_dt >= #{startDate}::date
</if>
<if test='endDate != null and endDate != ""'>
and cia.wrt_dt &lt;= #{endDate}::date+1
</if>
</if>
and ei.mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
ORDER BY cia.ci_key DESC
)a
</select>
</mapper>

View File

@ -24,6 +24,7 @@ function getCiaForeignerEditModal(ciKey){
autoclose: true
});
setUploadDiv();
setEditor("editor", 450);
$("#ciaForeignerEditModal").modal('show');
},
error:function(e){
@ -54,6 +55,7 @@ function save(contentStatus){
formData.append('fileSeq', $(el).attr("data-fileseq"));
})
formData.append('contentStatus', contentStatus);
formData.append("monitoringInfo", CrossEditor.GetBodyValue());
$.ajax({
type : 'POST',
data : formData,

View File

@ -16,73 +16,33 @@
<input type="hidden" name="wrtUserGrd" th:value="${cia.wrtUserGrd}">
<input type="hidden" name="wrtUserNm" th:value="${cia.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
<th:block th:if="${cia.ciKey eq null}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">시행관서</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">시행관서</label>
<div class="col-sm-2">
<select class="form-select" id="mgtOrgan" name="mgtOrgan">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</th:block>
</select>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">시행일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="eduDate" name="eduDate" readonly>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly>
</div>
</div>
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">교육방식</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="eduType" name="eduType">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">교육인원</label>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" id="peopleCnt" name="peopleCnt">
</div>
</div>
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">내용/<br>비고</label>
<div class="col-sm-11" id="contentInfoDiv">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="description"></textarea>
</div>
</div>
</th:block>
<th:block th:unless="${cia.ciKey eq null}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">시행관서</label>
<div class="col-sm-2">
<select class="form-select" id="mgtOrgan" name="mgtOrgan">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${cia.eduInfo.mgtOrgan eq commonCode.itemCd}"></option>
</th:block>
</th:block>
</select>
</th:block>
</select>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">시행일</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">시행일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="eduDate" name="eduDate" th:value="${cia.eduInfo.eduDate}" readonly>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly>
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">교육방식</label>
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">교육방식</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="eduType" name="eduType" th:value="${cia.eduInfo.eduType}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">교육인원</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">교육인원</label>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" id="peopleCnt" name="peopleCnt" th:value="${cia.eduInfo.peopleCnt}">
</div>
@ -90,10 +50,9 @@
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">내용/<br>비고</label>
<div class="col-sm-11" id="contentInfoDiv">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="description" th:utext="${cia.eduInfo.description}"></textarea>
<textarea class="form-control form-control-sm" rows="5" cols="30" name="description" th:utext="${cia.eduInfo.description}"></textarea>
</div>
</div>
</th:block>
<div class="row mb-1">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;">
@ -114,14 +73,14 @@
</form>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>
<button type="button" class="btn btn-primary" id="saveBtn">저장</button>
</div>
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>
<button type="button" class="btn btn-primary" id="saveBtn">저장</button>
</div>
</div>
</html>

View File

@ -15,22 +15,22 @@
</ul>
<div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.wrtUserGrd}" th:text="|${commonCode.itemValue} ${cia.wrtUserNm}|"></option>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.wrtUserGrd}" th:text="|${commonCode.itemValue} ${cia.wrtUserNm}|"></option>
</th:block>
</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">작성일시</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
</div>
</div>
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">시행관서</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">시행관서</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.eduInfo.mgtOrgan}" th:text="${commonCode.itemValue}"></option>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.eduInfo.mgtOrgan}" th:text="${commonCode.itemValue}"></option>
</th:block>
</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">시행일</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${cia.eduInfo.eduDate}"></label>
@ -69,8 +69,8 @@
<tr class="fileInfoTr">
<td>
<a href="#" class="fileDownLink" data-board="ciActivity"
th:data-parentkey="${file.ciKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a>
th:data-parentkey="${file.ciKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a>
</td>
<td th:text="${file.fileSize}"></td>
</tr>
@ -83,18 +83,14 @@
</div>
</div>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</th:block>
</div>
<div class="col-auto">
<th:block th:if="${viewUserSeq eq cia.wrtUserSeq}">
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="editBtn" th:data-cikey="${cia.ciKey}">수정</button>
</th:block>
</div>
</div>
</div>
</div>
</th:block>

View File

@ -16,95 +16,41 @@
<input type="hidden" name="wrtUserGrd" th:value="${cia.wrtUserGrd}">
<input type="hidden" name="wrtUserNm" th:value="${cia.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
<th:block th:if="${cia.ciKey eq null}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">관서</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-2">
<select class="form-select" id="mgtOrgan" name="mgtOrgan">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"></option>
</th:block>
</th:block>
</select>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">선정일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="fixDate" name="fixDate" readonly>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">담당관</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="manager" name="manager">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly>
</div>
</div>
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="commuLocation" name="commuLocation">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="commuNational" name="commuNational">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">주소지</label>
<div class="col-sm-5">
<input type="text" class="form-control form-control-sm" id="commuAddress" name="commuAddress">
</div>
</div>
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">선정사유</label>
<div class="col-sm-11" id="contentInfoDiv">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="selectReason"></textarea>
</div>
</div>
<div class="row mb-1">
<label for="content" class="col-sm-1 col-form-label col-form-label-sm text-center">모니터링 사항</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="monitoringInfo"></textarea>
</div>
</div>
</th:block>
<th:block th:unless="${cia.ciKey eq null}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-2">
<select class="form-select" id="mgtOrgan" name="mgtOrgan">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq cia.foreignerInfo.mgtOrgan}"></option>
</th:block>
</th:block>
</select>
</th:block>
</select>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">선정일</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">선정일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="fixDate" name="fixDate" th:value="${cia.foreignerInfo.fixDate}" readonly>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">담당관</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">담당관</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="manager" name="manager" th:value="${cia.foreignerInfo.manager}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly>
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<div class="row mb-1">
<label class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="commuLocation" name="commuLocation" th:value="${cia.foreignerInfo.commuLocation}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">국적</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="commuNational" name="commuNational" th:value="${cia.foreignerInfo.commuNational}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">주소지</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">주소지</label>
<div class="col-sm-5">
<input type="text" class="form-control form-control-sm" id="commuAddress" name="commuAddress" th:value="${cia.foreignerInfo.commuAddress}">
</div>
@ -112,17 +58,16 @@
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">선정사유</label>
<div class="col-sm-11" id="contentInfoDiv">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="selectReason" th:utext="${cia.foreignerInfo.selectReason}"></textarea>
<textarea class="form-control form-control-sm" rows="5" cols="30" name="selectReason" th:utext="${cia.foreignerInfo.selectReason}"></textarea>
</div>
</div>
<div class="row mb-1">
<label for="content" class="col-sm-1 col-form-label col-form-label-sm text-center">모니터링 사항</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">모니터링 사항</label>
<div class="col-sm-11">
<div id="editor"></div>
<textarea class="d-none" id="monitoringInfo" th:utext="${cia.foreignerInfo.monitoringInfo}"></textarea>
<textarea class="d-none" id="content" th:utext="${cia.foreignerInfo.monitoringInfo}"></textarea>
</div>
</div>
</th:block>
<div class="row mb-1">
<label for="fileInputer" class="col-sm-1 col-form-label col-form-label-sm text-center">첨부파일</label>
<div class="col-sm-11" style="min-height: 70px;">
@ -143,14 +88,14 @@
</form>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>
<button type="button" class="btn btn-primary" id="saveBtn">저장</button>
</div>
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>
<button type="button" class="btn btn-primary" id="saveBtn">저장</button>
</div>
</div>
</html>

View File

@ -100,16 +100,14 @@
</div>
</div>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</th:block>
</div>
<div class="col-auto">
<th:block th:if="${viewUserSeq eq cia.wrtUserSeq}">
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="editBtn" th:data-cikey="${cia.ciKey}">수정</button>
</th:block>
</div>
</div>
</div>
</div>
</th:block>

View File

@ -17,44 +17,43 @@
<input type="hidden" name="wrtUserNm" th:value="${cia.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">관서</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">관서</label>
<div class="col-sm-2">
<select class="form-select" id="mgtOrgan" name="mgtOrgan">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:if="${cia.ciKey eq null}"></option>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:unless="${cia.ciKey eq null}" th:selected="${commonCode.itemCd eq cia.manageCompanyInfo.mgtOrgan}"></option>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq cia.manageCompanyInfo.mgtOrgan}"></option>
</th:block>
</th:block>
</select>
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly>
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
</div>
</div>
<th:block th:if="${cia.ciKey eq null}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">업체명</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">업체명</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="companyNm" name="companyNm">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<div class="col-sm-5">
<input type="text" class="form-control form-control-sm" id="companyLocation" name="companyLocation">
</div>
</div>
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">연락처</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">연락처</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="cellPhone" name="cellPhone">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">부서</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="department" name="department">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">이름</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="name" name="name">
</div>
@ -74,38 +73,38 @@
</th:block>
<th:block th:unless="${cia.ciKey eq null}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">업체명</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">업체명</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="companyNm" name="companyNm" th:value="${cia.manageCompanyInfo.companyNm}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">소재지</label>
<div class="col-sm-5">
<input type="text" class="form-control form-control-sm" id="companyLocation" name="companyLocation" th:value="${cia.manageCompanyInfo.companyLocation}">
</div>
</div>
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">연락처</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">연락처</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="cellPhone" name="cellPhone" th:value="${cia.manageCompanyInfo.cellPhone}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">부서</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">부서</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="department" name="department" th:value="${cia.manageCompanyInfo.department}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">이름</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">이름</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" id="name" name="name" th:value="${cia.manageCompanyInfo.name}">
</div>
</div>
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">관련분야</label>
<div class="col-sm-11" id="contentInfoDiv">
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="relatedField" th:utext="${cia.manageCompanyInfo.relatedField}"></textarea>
</div>
</div>
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">특이사항</label>
<div class="col-sm-11" id="contentInfoDiv">
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="description" th:utext="${cia.manageCompanyInfo.description}"></textarea>
</div>
</div>

View File

@ -16,17 +16,17 @@
<div class="tab-content bg-white border border-top-0 p-2">
<div class="tab-pane fade p-2 show active" id="boardTabPanel" role="tabpanel" tabindex="0">
<div class="row mb-1">
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">관서</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">관서</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.manageCompanyInfo.mgtOrgan}" th:text="${commonCode.itemValue}"></option>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.manageCompanyInfo.mgtOrgan}" th:text="${commonCode.itemValue}"></option>
</th:block>
</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.wrtUserGrd}" th:text="|${commonCode.itemValue} ${cia.wrtUserNm}|"></option>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.wrtUserGrd}" th:text="|${commonCode.itemValue} ${cia.wrtUserNm}|"></option>
</th:block>
</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">작성일</label>
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
@ -78,8 +78,8 @@
<tr class="fileInfoTr">
<td>
<a href="#" class="fileDownLink" data-board="ciActivity"
th:data-parentkey="${file.ciKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a>
th:data-parentkey="${file.ciKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a>
</td>
<td th:text="${file.fileSize}"></td>
</tr>
@ -92,18 +92,14 @@
</div>
</div>
</div>
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</th:block>
</div>
<div class="col-auto">
<th:block th:if="${viewUserSeq eq cia.wrtUserSeq}">
<button type="button" class="btn btn-warning" id="editBtn" th:data-cikey="${cia.ciKey}">수정</button>
</th:block>
</div>
<div class="col-auto">
<!--<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="editBtn" th:data-cikey="${cia.ciKey}">수정</button>
</div>
</div>
</th:block>

View File

@ -17,27 +17,25 @@
<input type="hidden" name="wrtUserNm" th:value="${cia.wrtUserNm}">
<input type="hidden" name="wrtDt" th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
<div class="row mb-1">
<label for="wrtNm" class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성자</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성자자동입력" readonly>
<input type="text" class="form-control form-control-sm" placeholder="작성자자동입력" readonly th:value="${cia.wrtUserNm}">
</div>
<label for="wrtDt" class="col-sm-1 col-form-label col-form-label-sm text-center">작성일시</label>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일시</label>
<div class="col-sm-2">
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly>
<input type="text" class="form-control form-control-sm" placeholder="작성일자동입력" readonly th:value="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}">
</div>
</div>
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">지역특성</label>
<div class="col-sm-11" id="contentInfoDiv">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="localInfo" th:if="${cia.ciKey eq null}"></textarea>
<textarea class="form-control form-control-sm" rows="5" cols="30" name="localInfo" th:unless="${cia.ciKey eq null}" th:utext="${cia.saftyDemandInfo.localInfo}"></textarea>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">지역특성</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="localInfo" th:utext="${cia.saftyDemandInfo.localInfo}"></textarea>
</div>
</div>
<div class="row mb-1">
<label for="contentInfoDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">예상<br>문제점</label>
<div class="col-sm-11" id="contentInfoDiv">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="outlookProblem" th:if="${cia.ciKey eq null}"></textarea>
<textarea class="form-control form-control-sm" rows="5" cols="30" name="outlookProblem" th:unless="${cia.ciKey eq null}" th:utext="${cia.saftyDemandInfo.outlookProblem}"></textarea>
<label class="col-sm-1 col-form-label col-form-label-sm text-center">예상<br>문제점</label>
<div class="col-sm-11">
<textarea class="form-control form-control-sm" rows="5" cols="30" name="outlookProblem" th:utext="${cia.saftyDemandInfo.outlookProblem}"></textarea>
</div>
</div>
<div class="row mb-1">

View File

@ -22,9 +22,9 @@
<label class="col-sm-3 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(cia.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
<label class="col-sm-2 col-form-label col-form-label-sm text-center fw-bold">작성자</label>
<label class="col-sm-5 col-form-label col-form-label-sm text-start">
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.wrtUserGrd}" th:text="|${commonCode.itemValue} ${cia.wrtUserNm}|"></option>
</th:block>
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
<option th:value="${commonCode.itemCd}" th:if="${commonCode.itemCd eq cia.wrtUserGrd}" th:text="|${commonCode.itemValue} ${cia.wrtUserNm}|"></option>
</th:block>
</label>
</div>
<hr class="my-1">
@ -59,8 +59,8 @@
<tr class="fileInfoTr">
<td>
<a href="#" class="fileDownLink" data-board="ciActivity"
th:data-parentkey="${file.ciKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a>
th:data-parentkey="${file.ciKey}" th:data-fileseq="${file.fileSeq}"
th:text="|${file.origNm}.${file.fileExtn}|"></a>
</td>
<td th:text="${file.fileSize}"></td>
</tr>
@ -73,18 +73,14 @@
</div>
</div>
</div>
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!--
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
-->
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</th:block>
</div>
<div class="col-auto">
</div>
<th:block th:if="${viewUserSeq eq cia.wrtUserSeq}">
<button type="button" class="btn btn-warning" id="editBtn" th:data-cikey="${cia.ciKey}">수정</button>
</th:block>
</div>
<th:block th:if="${accessAuth eq 'ACC003'} or ${viewUserSeq eq cia.wrtUserSeq}">
<div class="modal-footer justify-content-between bg-light">
<div class="col-auto">
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button> -->
<button type="button" class="btn btn-danger" id="deleteBtn" th:data-cikey="${cia.ciKey}">삭제</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="editBtn" th:data-cikey="${cia.ciKey}">수정</button>
</div>
</div>
</th:block>