fix : 외사분실운영현황,실적 수정 수정번호 14

master
TaehunPark 2023-01-28 14:26:03 +09:00
parent 64ea497da5
commit 30df322f4e
11 changed files with 126 additions and 65 deletions

View File

@ -251,7 +251,7 @@ public class EquipController {
if(cellPhone.getPhoneKey() != null) {
cellPhone = equipService.selectCellPhoneInfo(cellPhone.getPhoneKey());
ParamMap param = new ParamMap();
param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(cellPhone.getMgtOrgan()));
param.put("opCd", cellPhone.getMgtOrgan());
mav.addObject("managerList", userInfoService.selectManagerList(param));
mav.addObject("userSeq", loginUser.getUserSeq());
}
@ -276,7 +276,7 @@ public class EquipController {
public ModelAndView cellPhoneSelecBox(String ogCd) {
ModelAndView mav = new ModelAndView("equip/cellPhoneSelecBox");
ParamMap param = new ParamMap();
param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(ogCd));
param.put("ogCd", ogCd);
mav.addObject("managerList", userInfoService.selectManagerList(param));
return mav;
}

View File

@ -63,19 +63,20 @@ public class FipTargetController {
String[] headerNames2 = null;
if(header != null) {
headerNames2 = new String[] { "", "", "", "상주 "+header.getString("mp_sangju")+"개소 "+header.getString("mp_sangju_total")+"명"
,"비상주 "+header.getString("mp_bsangju")+"개소 "+header.getString("mp_bsangju_total")+"명"
,"폐쇄 "+header.getString("mp_closure")+"개소 "+header.getString("mp_closure_total")+"명"
,"비상주 "+header.getString("mp_bsangju")+"개소"
,"폐쇄 "+header.getString("mp_closure")+"개소"
,"상주 "+header.getString("pl_sangju")+"개소 "+header.getString("pl_sangju_total")+"명"
,"비상주 "+header.getString("pl_bsangju")+"개소 "+header.getString("pl_bsangju_total")+"명"
,"폐쇄 "+header.getString("pl_closure")+"개소 "+header.getString("pl_closure_total")+"명"
,"비상주 "+header.getString("pl_bsangju")+"개소"
,"폐쇄 "+header.getString("pl_closure")+"개소"
, "", "", "", "" };
}else {
headerNames2 = new String[] { "", "","", "상주 0개소 0명","비상주 0개소 0명","폐쇄 0개소 0명","상주 0개소 0명","비상주 0개소 0명","폐쇄 0개소 0명", "", "", "", "" };
}
String[] headerNames3 = { "", "","", "근무방법", "명", "비고", "근무방법", "명", "비고", "담당자", "임차료", "공공요금", "최종수정일" };
String[] headerNames3 = { "", "","", "근무방법",Integer.parseInt(header.getString("mp_sangju_total"))+Integer.parseInt(header.getString("mp_bsangju_total"))+Integer.parseInt(header.getString("mp_closure_total"))+"명", "비고", "근무방법",Integer.parseInt(header.getString("pl_sangju_total"))+Integer.parseInt(header.getString("pl_bsangju_total"))+Integer.parseInt(header.getString("pl_closure_total"))+"명", "비고", "담당자", "임차료", "공공요금", "최종수정일" };
String[] columnType = { "String", "String","String", "String", "int", "String", "String", "int", "String", "String", "String","String", "String"};
String sheetName = "외사 분실 현황";
String excelFileName = "외사 분실 현황";
partInfo.setPiState("DST007");
List<PartInfo> partInfoList= fipTargetService.selectPartInfoList(partInfo);
try {
@ -94,6 +95,7 @@ public class FipTargetController {
partInfo.setContentCnt(fipTargetService.selectPartInfoListCnt(partInfo));
partInfo.setPaginationInfo();
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
mav.addObject("loginUser", loginUser.getUserSeq());
mav.addObject("searchParams", partInfo);
return mav;
}
@ -114,7 +116,7 @@ public class FipTargetController {
public ModelAndView equipTypeSelecBox(String ogCd) {
ModelAndView mav = new ModelAndView("fipTarget/partInfoSelecBox");
ParamMap param = new ParamMap();
param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(ogCd));
param.put("ogCd", ogCd);
mav.addObject("managerList", userInfoService.selectManagerList(param));
return mav;
}
@ -137,7 +139,7 @@ public class FipTargetController {
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
PartInfo partInfoView = fipTargetService.selectPartInfo(partInfo);
ParamMap param = new ParamMap();
param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(partInfoView.getMgtOrgan()));
param.put("ogCd", partInfoView.getMgtOrgan());
mav.addObject("managerList", userInfoService.selectManagerList(param));
partInfoView.setFileList(fipTargetService.selectPartInfoFile(partInfo));
mav.addObject("partInfo", partInfoView);
@ -180,7 +182,7 @@ public class FipTargetController {
mav.addObject("partInfo", partInfoHistory);
ParamMap param = new ParamMap();
param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(partInfoHistory.getMgtOrgan()));
param.put("ogCd", partInfoHistory.getMgtOrgan());
mav.addObject("managerList", userInfoService.selectManagerList(param));
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/target/partInfoList").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth);

View File

@ -75,6 +75,8 @@ public class PartInfo extends BaseModel implements Serializable{
@Column(name = "wrt_dt")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime wrtDt;
@Column(name = "pi_state")
private String piState;
@Transient
private List<MultipartFile> multipartFileList;

View File

@ -147,6 +147,7 @@ public class FipTargetService extends BaseService {
partTmp.setWrtOrgan(partInfo.getWrtOrgan());
partTmp.setWrtTitle(partInfo.getWrtTitle());
partTmp.setWrtDt(partInfo.getWrtDt());
partTmp.setPiState(partInfo.getPiState());
partInfoRepository.save(partTmp);
//업데이트하는 버전 파일조회
List<PartInfoFile> fileList = partInfoFileRepository.findByPiSeqAndVersionNoOrderByFileSeqAsc(partInfo.getPiSeq(),partInfo.getVersionNo());

View File

@ -22,12 +22,17 @@
rent_price,
utility_type,
utility_price,
wrt_dt
wrt_user_seq,
wrt_dt,
pi_state
from part_info pi,
(select pi_seq,max(version_no) as lastVer
from part_info group by pi_seq) b
where pi.pi_seq = b.pi_seq
and pi.version_no = b.lastVer
<if test='piState != null and piState != ""'>
and pi_state = #{piState}
</if>
and mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
@ -172,7 +177,8 @@
from part_info pi,
(select pi_seq,max(version_no) as lastVer
from part_info group by pi_seq) b
where pi.pi_seq = b.pi_seq
where pi.pi_state = 'DST007'
and pi.pi_seq = b.pi_seq
and pi.version_no = b.lastVer
and mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
@ -218,7 +224,8 @@
rent_price,
utility_type,
utility_price,
wrt_dt
wrt_dt,
pi_state
from part_info pi,
(select pi_seq,max(version_no) as lastVer
from part_info group by pi_seq) b
@ -271,6 +278,7 @@
from part_info group by pi_seq) b
where pi.pi_seq = b.pi_seq
and pi.version_no = b.lastVer
and pi.pi_state = 'DST007'
and mgt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}

View File

@ -72,10 +72,8 @@
(select item_value from code_mgt where item_cd = title_cd) as title_cd,
user_nm
from user_info
where og_cd in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item}
</foreach>
where og_cd = #{ogCd}
and user_status = 'USC003'
order by user_nm asc
</select>

View File

@ -145,6 +145,18 @@ $(document).on('click', '#savePartInfo', function (){
}
}
if(confirm("저장하시겠습니까?")){
savePartInfo('DST007');
}
})
$(document).on('click', '#saveTempBtn', function (){
if(confirm("임시저장 하시겠습니까?")){
savePartInfo('DST001');
}
})
function savePartInfo(piState){
$("#piState").val(piState);
document.getElementById("mgtOrgan").disabled = false;
contentFade("in");
const formData = new FormData($("#partInfoSave")[0]);
@ -168,8 +180,7 @@ $(document).on('click', '#savePartInfo', function (){
contentFade("out");
}
})
}
})
}
$(document).on('click', '.partInfoTr', function (){
const piSeq = (Number($(this).find(".piSeq").val()));
@ -238,9 +249,9 @@ $(document).on('change', '#mUtilityType', function (){
});
$(document).on('click', '#updatePartInfo', function (){
if($('#mgtOrgan').val() == ''){
if($('#mMgtOrgan').val() == ''){
alert('해경서를 선택해주세요');
$('#mgtOrgan').focus();
$('#mMgtOrgan').focus();
return false;
}
if($('#mPiUserSeq').val() == ''){
@ -282,7 +293,20 @@ $(document).on('click', '#updatePartInfo', function (){
}
}
if(confirm("수정하시겠습니까?")){
document.getElementById("mgtOrgan").disabled = false;
updatePartInfo('DST007');
}
})
$(document).on('click', '#mSaveTempBtn', function (){
if(confirm("임시저장 하시겠습니까?")){
updatePartInfo('DST001');
}
})
function updatePartInfo(piState){
document.getElementById("mMgtOrgan").disabled = false;
document.getElementById("mPiUserSeq").disabled = false;
$("#mPiState").val(piState);
contentFade("in");
const formData = new FormData($("#partInfoUpdate")[0]);
for(const file of files) {
@ -308,8 +332,7 @@ $(document).on('click', '#updatePartInfo', function (){
contentFade("out");
}
})
}
})
}
function showHistory(piSeq){
$.ajax({

View File

@ -9,6 +9,7 @@
<form id="partInfoSave" method="post">
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<input type="hidden" id="piState" name="piState">
<div class="row mb-1">
<label class="col-2 col-form-label col-form-label-sm text-center">터미널 정보</label>
<div class="col-10 border">
@ -135,6 +136,7 @@
<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="savePartInfo">저장</button>
</div>
</div>

View File

@ -6,31 +6,31 @@
<div class="row my-1">
<label for="terminalNm" class="col-sm-2 col-form-label col-form-label-sm text-center">터미널명</label>
<div class="col-sm-3">
<input type="text" class="form-control form-control-sm" id="terminalNm" name="terminalNm" placeholder="직접입력" th:value="${partInfo.terminalNm}">
<input type="text" class="form-control form-control-sm" id="terminalNm" name="terminalNm" placeholder="직접입력" th:value="${partInfo.terminalNm}" disabled>
</div>
</div>
<div class="row my-1">
<label for="rentType" class="col-sm-2 col-form-label col-form-label-sm text-center">임차료</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="rentType" name="rentType">
<select class="form-select form-select-sm" id="rentType" name="rentType" disabled>
<option value="">선택</option>
<option value="N" th:selected="${'N' eq partInfo.rentType}">무상</option>
<option value="Y" th:selected="${'Y' eq partInfo.rentType}">유상</option>
</select>
</div>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" id="rentPrice" name="rentPrice" placeholder="단위: 만" th:value="${partInfo.rentPrice}">
<input type="number" class="form-control form-control-sm" id="rentPrice" name="rentPrice" placeholder="단위: 만" th:value="${partInfo.rentPrice}" disabled>
</div>
<label for="utilityType" class="col-sm-2 col-form-label col-form-label-sm text-center">공공요금</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="utilityType" name="utilityType">
<select class="form-select form-select-sm" id="utilityType" name="utilityType" disabled>
<option value="">선택</option>
<option value="N" th:selected="${'N' eq partInfo.utilityType}">무상</option>
<option value="Y" th:selected="${'Y' eq partInfo.utilityType}">유상</option>
</select>
</div>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" id="utilityPrice" name="utilityPrice" placeholder="단위: 만" th:value="${partInfo.utilityPrice}">
<input type="number" class="form-control form-control-sm" id="utilityPrice" name="utilityPrice" placeholder="단위: 만" th:value="${partInfo.utilityPrice}" disabled>
</div>
</div>
</div>
@ -41,11 +41,11 @@
<div class="row my-1">
<label for="mgtOrgan" class="col-sm-2 col-form-label col-form-label-sm text-center">해경서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan" th:disabled="${accessAuth ne 'ACC003'}">
<select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan" disabled>
<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 partInfo.mgtOrgan}"></option>
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq partInfo.mgtOrgan}" disabled></option>
</th:block>
</th:block>
</select>
@ -63,7 +63,7 @@
<div class="row my-1">
<label for="mpWorkType" class="col-sm-2 col-form-label col-form-label-sm text-center">근무방법</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="mpWorkType" name="mpWorkType">
<select class="form-select form-select-sm" id="mpWorkType" name="mpWorkType" disabled>
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PIS')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq partInfo.mpWorkType}"></option>
@ -72,13 +72,13 @@
</div>
<label for="mpPeopleCnt" class="col-sm-2 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="mpPeopleCnt" name="mpPeopleCnt" th:value="${partInfo.mpPeopleCnt}">
<input type="number" class="form-control form-control-sm" id="mpPeopleCnt" name="mpPeopleCnt" th:value="${partInfo.mpPeopleCnt}" disabled>
</div>
</div>
<div class="row my-1">
<label for="mpDescription" class="col-sm-2 col-form-label col-form-label-sm text-center">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-sm" id="mpDescription" name="mpDescription" th:value="${partInfo.mpDescription}">
<input type="text" class="form-control form-control-sm" id="mpDescription" name="mpDescription" th:value="${partInfo.mpDescription}" disabled>
</div>
</div>
</div>
@ -89,11 +89,11 @@
<div class="row my-1">
<label for="landPolice" class="col-sm-2 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="landPolice" name="landPolice" placeholder="직접입력" th:value="${partInfo.landPolice}">
<input type="text" class="form-control form-control-sm" id="landPolice" name="landPolice" placeholder="직접입력" th:value="${partInfo.landPolice}" disabled>
</div>
<label for="plWorkType" class="col-sm-2 col-form-label col-form-label-sm text-center">근무방법</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="plWorkType" name="plWorkType">
<select class="form-select form-select-sm" id="plWorkType" name="plWorkType" disabled>
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('PIS')}">
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${commonCode.itemCd eq partInfo.plWorkType}"></option>
@ -102,13 +102,14 @@
</div>
<label for="plPeopleCnt" class="col-sm-2 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="plPeopleCnt" name="plPeopleCnt" th:value="${partInfo.plPeopleCnt}">
<input type="number" class="form-control form-control-sm" id="plPeopleCnt" name="plPeopleCnt" th:value="${partInfo.plPeopleCnt}" disabled>
</div>
</div>
<div class="row my-1">
<label for="plDescription" class="col-sm-2 col-form-label col-form-label-sm text-center">비고</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-sm" id="plDescription" name="plDescription" th:value="${partInfo.plDescription}">
<input type="text" class="form-control form-control-sm" id="plDescription" name="plDescription" th:value="${partInfo.plDescription}" disabled>
</div>
</div>
</div>
@ -124,7 +125,6 @@
<div class='row-col-6' th:each="infoFile:${partInfo.fileList}">
<span th:data-fileseq="${infoFile.fileSeq}" th:text="|${infoFile.origNm}.${infoFile.fileExtn} ${infoFile.fileSize}|"></span>
<a href='#' class='fileDownPartInfo text-decoration-none' th:data-fileSeq="${infoFile.fileSeq}" th:data-piSeq="${infoFile.piSeq}" th:data-verNo="${infoFile.versionNo}">다운</a>
<a href='#' class='uploadedFileDelete text-danger text-decoration-none'>삭제</a>
</div>
</th:block>
</div>

View File

@ -127,6 +127,28 @@
</thead>
<tbody class="table-group-divider">
<tr class="partInfoTr" th:each="pi:${partInfoList}">
<th:block th:if="${pi.piState eq 'DST001'} and ${pi.wrtUserSeq eq loginUser}">
<th:block>
<input type="hidden" class="piSeq" th:value="${pi.piSeq}">
<input type="hidden" class="verNo" th:value="${pi.versionNo}">
</th:block>
<td th:text="${pi.mgtOrgan}"></td>
<td th:text="${pi.landPolice}"></td>
<td style="color : red;" th:text="|[임시저장] ${pi.terminalNm}|"></td>
<td th:text="${pi.piManagerName}"></td>
<td th:text="${pi.mpWorkType}"></td>
<td th:text="|${pi.mpPeopleCnt eq null?0:pi.mpPeopleCnt}명|"></td>
<td th:text="${pi.mpDescription}"></td>
<td th:text="${pi.plWorkType}"></td>
<td th:text="|${pi.plPeopleCnt eq null?0:pi.plPeopleCnt}명|"></td>
<td th:text="${pi.plDescription}"></td>
<td th:if="${pi.rentType eq 'Y'}" th:text="|${pi.rentPrice}만/年|"></td>
<td th:unless="${pi.rentType eq 'Y'}">무상</td>
<td th:if="${pi.utilityType eq 'Y'}" th:text="|${pi.utilityPrice}만/年|"></td>
<td th:unless="${pi.utilityType eq 'Y'}">무상</td>
<td th:text="${#temporals.format(pi.wrtDt, 'yyyy-MM-dd')}"></td>
</th:block>
<th:block th:if="${pi.piState eq 'DST007'}">
<th:block>
<input type="hidden" class="piSeq" th:value="${pi.piSeq}">
<input type="hidden" class="verNo" th:value="${pi.versionNo}">
@ -146,6 +168,7 @@
<td th:if="${pi.utilityType eq 'Y'}" th:text="|${pi.utilityPrice}만/年|"></td>
<td th:unless="${pi.utilityType eq 'Y'}">무상</td>
<td th:text="${#temporals.format(pi.wrtDt, 'yyyy-MM-dd')}"></td>
</th:block>
</tr>
</tbody>
<tfoot class="table-group-divider">

View File

@ -19,6 +19,7 @@
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
<input type="hidden" name="piSeq" id="piSeq" th:value="${partInfo.piSeq}">
<input type="hidden" name="versionNo" th:value="${partInfo.versionNo}">
<input type="hidden" id="mPiState" name="piState" th:value="${partInfo.piState}">
<div class="row mb-1">
<label class="col-2 col-form-label col-form-label-sm text-center">터미널 정보</label>
<div class="col-10 border">
@ -31,25 +32,25 @@
<div class="row my-1">
<label for="rentType" class="col-sm-2 col-form-label col-form-label-sm text-center">임차료</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="rentType" name="rentType">
<select class="form-select form-select-sm" id="mRentType" name="rentType">
<option value="">선택</option>
<option value="N" th:selected="${'N' eq partInfo.rentType}">무상</option>
<option value="Y" th:selected="${'Y' eq partInfo.rentType}">유상</option>
</select>
</div>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" id="rentPrice" name="rentPrice" placeholder="단위: 만" th:value="${partInfo.rentPrice}">
<input type="number" class="form-control form-control-sm" id="mRentPrice" name="rentPrice" placeholder="단위: 만" th:value="${partInfo.rentPrice}">
</div>
<label for="utilityType" class="col-sm-2 col-form-label col-form-label-sm text-center">공공요금</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="utilityType" name="utilityType">
<select class="form-select form-select-sm" id="mUtilityType" name="utilityType">
<option value="">선택</option>
<option value="N" th:selected="${'N' eq partInfo.utilityType}">무상</option>
<option value="Y" th:selected="${'Y' eq partInfo.utilityType}">유상</option>
</select>
</div>
<div class="col-sm-2">
<input type="number" class="form-control form-control-sm" id="utilityPrice" name="utilityPrice" placeholder="단위: 만" th:value="${partInfo.utilityPrice}">
<input type="number" class="form-control form-control-sm" id="mUtilityPrice" name="utilityPrice" placeholder="단위: 만" th:value="${partInfo.utilityPrice}">
</div>
</div>
</div>
@ -60,7 +61,7 @@
<div class="row my-1">
<label for="mgtOrgan" class="col-sm-2 col-form-label col-form-label-sm text-center">해경서</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="mgtOrgan" name="mgtOrgan" th:disabled="${accessAuth ne 'ACC003'}">
<select class="form-select form-select-sm" id="mMgtOrgan" name="mgtOrgan" th:disabled="${accessAuth ne 'ACC003'}">
<option value="">선택</option>
<th:block th:each="commonCode:${session.commonCode.get('OG')}">
<th:block th:if="${#lists.contains(mgtOrganList, commonCode.itemCd)}">
@ -71,7 +72,7 @@
</div>
<label for="piUserSeq" class="col-sm-2 col-form-label col-form-label-sm text-center">담당자</label>
<div class="col-sm-2">
<select class="form-select form-select-sm" id="piUserSeq" name="piUserSeq" th:disabled="${accessAuth ne 'ACC003'}">
<select class="form-select form-select-sm" id="mPiUserSeq" name="piUserSeq" th:disabled="${accessAuth ne 'ACC003'}">
<option value="">선택</option>
<th:block th:each="info:${managerList}">
<option th:value="${info.user_seq}" th:text="|${info.title_cd} ${info.user_nm}|" th:selected="${info.user_seq eq partInfo.piUserSeq}"></option>
@ -159,6 +160,7 @@
<button type="button" class="btn btn-danger" id="deletePartInfo" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">삭제</button>
</div>
<div class="col-auto">
<button type="button" class="btn btn-warning" id="mSaveTempBtn" th:if="${wrtUserSeq eq userSeq}">임시저장</button>
<button type="button" class="btn btn-warning" id="updatePartInfo" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">수정</button>
</div>
</div>