강석 최 2022-11-01 18:05:42 +09:00
commit 779bd8747c
23 changed files with 183 additions and 97 deletions

View File

@ -75,8 +75,10 @@ public class EquipController {
@PostMapping("/saveEquip") @PostMapping("/saveEquip")
public void saveEquip(@AuthenticationPrincipal UserInfo loginUser,Equip equip, MultipartHttpServletRequest request){ public void saveEquip(@AuthenticationPrincipal UserInfo loginUser,Equip equip, MultipartHttpServletRequest request){
equip.setWrtNm(loginUser.getUserId()); equip.setWrtNm(loginUser.getUserNm());
equip.setWrtOrgan(loginUser.getOgCd()); equip.setWrtOrgan(loginUser.getOgCd());
equip.setWrtPart(loginUser.getOfcCd());
equip.setWrtTitle(loginUser.getTitleCd());
equip.setWrtDt(LocalDateTime.now()); equip.setWrtDt(LocalDateTime.now());
equipService.saveEquip(equip,request); equipService.saveEquip(equip,request);
} }
@ -107,8 +109,8 @@ public class EquipController {
//메뉴권한 확인 //메뉴권한 확인
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/equip/equipStatus").get(0).getAccessAuth(); String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/equip/equipStatus").get(0).getAccessAuth();
mav.addObject("accessAuth", accessAuth); mav.addObject("accessAuth", accessAuth);
mav.addObject("userId", loginUser.getUserId()); mav.addObject("userSeq", loginUser.getUserSeq());
mav.addObject("wrtId", equipService.selectEquipFirstId(equip)); mav.addObject("wrtUserSeq", equipService.selectEquipFirstUserSeq(equip));
mav.addObject("equInfo", equipService.selectEquipInfo(equip)); mav.addObject("equInfo", equipService.selectEquipInfo(equip));
return mav; return mav;
} }
@ -116,8 +118,10 @@ public class EquipController {
@PostMapping("/updateEquip") @PostMapping("/updateEquip")
@ResponseBody @ResponseBody
public int updateEquip(@AuthenticationPrincipal UserInfo loginUser,Equip equip, MultipartHttpServletRequest request){ public int updateEquip(@AuthenticationPrincipal UserInfo loginUser,Equip equip, MultipartHttpServletRequest request){
equip.setWrtNm(loginUser.getUserId()); equip.setWrtNm(loginUser.getUserNm());
equip.setWrtOrgan(loginUser.getOgCd()); equip.setWrtOrgan(loginUser.getOgCd());
equip.setWrtPart(loginUser.getOfcCd());
equip.setWrtTitle(loginUser.getTitleCd());
equip.setWrtDt(LocalDateTime.now()); equip.setWrtDt(LocalDateTime.now());
int result = equipService.updateEquip(equip,request); int result = equipService.updateEquip(equip,request);
return result; return result;
@ -126,7 +130,7 @@ public class EquipController {
@GetMapping("/historyView") @GetMapping("/historyView")
public ModelAndView historyView(Equip equip) { public ModelAndView historyView(Equip equip) {
ModelAndView mav = new ModelAndView("equip/equipHistory"); ModelAndView mav = new ModelAndView("equip/equipHistory");
mav.addObject("equList", equipService.selectHistoryView(equip)); mav.addObject("equList", equipService.selectHistoryList(equip));
return mav; return mav;
} }
@ -244,16 +248,19 @@ public class EquipController {
@GetMapping("/cellPhoneEditModal") @GetMapping("/cellPhoneEditModal")
public ModelAndView cellPhoneEditModal(@AuthenticationPrincipal UserInfo loginUser,CellPhone cellPhone) { public ModelAndView cellPhoneEditModal(@AuthenticationPrincipal UserInfo loginUser,CellPhone cellPhone) {
ModelAndView mav = new ModelAndView("equip/cellPhoneEditModal"); ModelAndView mav = new ModelAndView("equip/cellPhoneEditModal");
if(cellPhone.getPhoneKey() != null) { if(cellPhone.getPhoneKey() != null) {
cellPhone = equipService.selectCellPhoneInfo(cellPhone.getPhoneKey()); cellPhone = equipService.selectCellPhoneInfo(cellPhone.getPhoneKey());
ParamMap param = new ParamMap(); ParamMap param = new ParamMap();
param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(cellPhone.getMgtOrgan())); param.put("downOrganCdList", organConfigService.selectDownOrganListWhereUserOgCd(cellPhone.getMgtOrgan()));
mav.addObject("managerList", userInfoService.selectManagerList(param)); mav.addObject("managerList", userInfoService.selectManagerList(param));
mav.addObject("userSeq", loginUser.getUserSeq());
} }
if(cellPhone.getPhoneKey() == null) { if(cellPhone.getPhoneKey() == null) {
cellPhone.setWrtOrgan(loginUser.getOgCd()); cellPhone.setWrtOrgan(loginUser.getOgCd());
cellPhone.setWrtPart(loginUser.getOfcCd()); cellPhone.setWrtPart(loginUser.getOfcCd());
cellPhone.setWrtTitle(loginUser.getTitleCd());
cellPhone.setWrtUserSeq(loginUser.getUserSeq()); cellPhone.setWrtUserSeq(loginUser.getUserSeq());
cellPhone.setWrtNm(loginUser.getUserNm()); cellPhone.setWrtNm(loginUser.getUserNm());
} }
@ -343,8 +350,9 @@ public class EquipController {
public void saveUse(@AuthenticationPrincipal UserInfo loginUser,UseList useList){ public void saveUse(@AuthenticationPrincipal UserInfo loginUser,UseList useList){
useList.setWrtOrgan(loginUser.getOgCd()); useList.setWrtOrgan(loginUser.getOgCd());
useList.setWrtPart(loginUser.getOfcCd()); useList.setWrtPart(loginUser.getOfcCd());
useList.setWrtTitle(loginUser.getTitleCd());
useList.setWrtUserSeq(loginUser.getUserSeq()); useList.setWrtUserSeq(loginUser.getUserSeq());
useList.setWrtNm(loginUser.getUserId()); useList.setWrtNm(loginUser.getUserNm());
useList.setWrtDt(LocalDateTime.now()); useList.setWrtDt(LocalDateTime.now());
equipService.saveUse(useList); equipService.saveUse(useList);
} }
@ -355,6 +363,9 @@ public class EquipController {
useList.setDownOrganCdList(loginUser.getDownOrganCdList()); useList.setDownOrganCdList(loginUser.getDownOrganCdList());
mav.addObject("organList", equipService.selectOrganList(useList)); mav.addObject("organList", equipService.selectOrganList(useList));
mav.addObject("info", equipService.selectUseInfo(useList)); mav.addObject("info", equipService.selectUseInfo(useList));
mav.addObject("wrtUserSeq", equipService.selectFirstWrtUserSeq(useList));
mav.addObject("userSeq", loginUser.getUserSeq());
//메뉴권한 확인 //메뉴권한 확인
String accessAuth; String accessAuth;
if(useList.getUseType().equals("PVRE")) { if(useList.getUseType().equals("PVRE")) {
@ -371,8 +382,9 @@ public class EquipController {
public UseList uadateUse(@AuthenticationPrincipal UserInfo loginUser,UseList useList){ public UseList uadateUse(@AuthenticationPrincipal UserInfo loginUser,UseList useList){
useList.setWrtOrgan(loginUser.getOgCd()); useList.setWrtOrgan(loginUser.getOgCd());
useList.setWrtPart(loginUser.getOfcCd()); useList.setWrtPart(loginUser.getOfcCd());
useList.setWrtTitle(loginUser.getTitleCd());
useList.setWrtUserSeq(loginUser.getUserSeq()); useList.setWrtUserSeq(loginUser.getUserSeq());
useList.setWrtNm(loginUser.getUserId()); useList.setWrtNm(loginUser.getUserNm());
useList.setWrtDt(LocalDateTime.now()); useList.setWrtDt(LocalDateTime.now());
return equipService.updateUse(useList); return equipService.updateUse(useList);
} }
@ -380,7 +392,7 @@ public class EquipController {
@GetMapping("/useHistory") @GetMapping("/useHistory")
public ModelAndView useHistory(@AuthenticationPrincipal UserInfo loginUser,UseList useList) { public ModelAndView useHistory(@AuthenticationPrincipal UserInfo loginUser,UseList useList) {
ModelAndView mav = new ModelAndView("equip/useHistory"); ModelAndView mav = new ModelAndView("equip/useHistory");
mav.addObject("infoList", equipService.selectUseInfoList(useList)); mav.addObject("infoList", equipService.selectUseHistoryList(useList));
return mav; return mav;
} }

View File

@ -29,7 +29,7 @@ public interface EquipMapper {
Integer selectEquipLogListCnt(EquipLog equipLog); Integer selectEquipLogListCnt(EquipLog equipLog);
String selectEquipFirstId(Equip equip); String selectEquipFirstUserSeq(Equip equip);
List<CellPhone> selectCellPhoneList(CellPhone cellPhone); List<CellPhone> selectCellPhoneList(CellPhone cellPhone);
@ -47,6 +47,10 @@ public interface EquipMapper {
UseList selectUseInfo(UseList useList); UseList selectUseInfo(UseList useList);
List<Equip> selectHistoryList(Equip equip);
List<UseList> selectUseHistoryList(UseList useList);

View File

@ -47,6 +47,8 @@ public class CellPhone extends BaseModel{
private String wrtOrgan; private String wrtOrgan;
@Column(name = "wrt_part") @Column(name = "wrt_part")
private String wrtPart; private String wrtPart;
@Column(name = "wrt_title")
private String wrtTitle;
@Column(name = "wrt_user_seq") @Column(name = "wrt_user_seq")
private Integer wrtUserSeq; private Integer wrtUserSeq;
@Column(name = "wrt_nm") @Column(name = "wrt_nm")

View File

@ -47,6 +47,12 @@ public class Equip extends BaseModel implements Serializable{
private String note; private String note;
@Column(name = "wrt_organ") @Column(name = "wrt_organ")
private String wrtOrgan; private String wrtOrgan;
@Column(name = "wrt_part")
private String wrtPart;
@Column(name = "wrt_title")
private String wrtTitle;
@Column(name = "wrt_user_seq")
private String wrtUserSeq;
@Column(name = "wrt_nm") @Column(name = "wrt_nm")
private String wrtNm; private String wrtNm;
@Column(name = "wrt_dt") @Column(name = "wrt_dt")

View File

@ -32,6 +32,10 @@ public class EquipLog extends BaseModel{
private String elContents; private String elContents;
@Column(name = "wrt_nm") @Column(name = "wrt_nm")
private String wrtNm; private String wrtNm;
@Column(name = "wrt_part")
private String wrtPart;
@Column(name = "wrt_title")
private String wrtTitle;
@Column(name = "wrt_organ") @Column(name = "wrt_organ")
private String wrtOrgan; private String wrtOrgan;
@Column(name = "wrt_dt") @Column(name = "wrt_dt")

View File

@ -54,8 +54,8 @@ public class UseList extends BaseModel implements Serializable{
private String wrtOrgan; private String wrtOrgan;
@Column(name = "wrt_part") @Column(name = "wrt_part")
private String wrtPart; private String wrtPart;
@Column(name = "wrt_user_grd") @Column(name = "wrt_title")
private String wrtUserGrd; private String wrtTitle;
@Column(name = "wrt_user_seq") @Column(name = "wrt_user_seq")
private Integer wrtUserSeq; private Integer wrtUserSeq;
@Column(name = "wrt_nm") @Column(name = "wrt_nm")
@ -81,11 +81,14 @@ public String toString() {
return "UseList [mgtOrgan=" + mgtOrgan + ", useNo=" + useNo + ", versionNo=" + versionNo + ", useType=" + useType return "UseList [mgtOrgan=" + mgtOrgan + ", useNo=" + useNo + ", versionNo=" + versionNo + ", useType=" + useType
+ ", useDt=" + useDt + ", detailType=" + detailType + ", detailSelf=" + detailSelf + ", peopleCnt=" + ", useDt=" + useDt + ", detailType=" + detailType + ", detailSelf=" + detailSelf + ", peopleCnt="
+ peopleCnt + ", description=" + description + ", wrtOrgan=" + wrtOrgan + ", wrtPart=" + wrtPart + peopleCnt + ", description=" + description + ", wrtOrgan=" + wrtOrgan + ", wrtPart=" + wrtPart
+ ", wrtUserGrd=" + wrtUserGrd + ", wrtUserSeq=" + wrtUserSeq + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt + ", wrtTitle=" + wrtTitle + ", wrtUserSeq=" + wrtUserSeq + ", wrtNm=" + wrtNm + ", wrtDt=" + wrtDt
+ ", excel=" + excel + ", sosok=" + sosok + ", year=" + year + ", detailTypeName=" + detailTypeName + "]"; + ", excel=" + excel + ", sosok=" + sosok + ", year=" + year + ", detailTypeName=" + detailTypeName + "]";
} }
@Embeddable @Embeddable
@Data @Data
@NoArgsConstructor @NoArgsConstructor

View File

@ -5,6 +5,8 @@ import com.dbnt.faisp.main.equip.model.UseList;
import java.util.List; import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
@ -14,6 +16,9 @@ public interface UseListRepository extends JpaRepository<UseList, UseList.UseLis
void deleteByMgtOrganAndUseNoAndUseType(String mgtOrgan, String useNo, String useType); void deleteByMgtOrganAndUseNoAndUseType(String mgtOrgan, String useNo, String useType);
@Query(value = "SELECT wrt_user_seq FROM use_list WHERE mgt_organ=:mgtOrgan AND use_no=:useNo And use_type=:useType order by version_no asc limit 1", nativeQuery = true)
Integer getWrtUserSeq(@Param("mgtOrgan") String mgtOrgan,@Param("useNo") String useNo,@Param("useType") String useType);

View File

@ -70,6 +70,8 @@ public class EquipService {
equLog.setElContents("입력"); equLog.setElContents("입력");
equLog.setWrtNm(equip.getWrtNm()); equLog.setWrtNm(equip.getWrtNm());
equLog.setWrtOrgan(equip.getWrtOrgan()); equLog.setWrtOrgan(equip.getWrtOrgan());
equLog.setWrtPart(equip.getWrtPart());
equLog.setWrtTitle(equip.getWrtTitle());
equLog.setWrtDt(equip.getWrtDt()); equLog.setWrtDt(equip.getWrtDt());
equipLogRepository.save(equLog); equipLogRepository.save(equLog);
} catch (Exception e) { } catch (Exception e) {
@ -164,6 +166,8 @@ public class EquipService {
equipTmp.setItemCondition(equip.getItemCondition()); equipTmp.setItemCondition(equip.getItemCondition());
equipTmp.setNote(equip.getNote()); equipTmp.setNote(equip.getNote());
equipTmp.setWrtOrgan(equip.getWrtOrgan()); equipTmp.setWrtOrgan(equip.getWrtOrgan());
equipTmp.setWrtPart(equip.getWrtPart());
equipTmp.setWrtTitle(equip.getWrtTitle());
equipTmp.setWrtNm(equip.getWrtNm()); equipTmp.setWrtNm(equip.getWrtNm());
equipTmp.setWrtDt(equip.getWrtDt()); equipTmp.setWrtDt(equip.getWrtDt());
equipRepository.save(equipTmp); equipRepository.save(equipTmp);
@ -175,6 +179,8 @@ public class EquipService {
equLog.setWrtNm(equip.getWrtNm()); equLog.setWrtNm(equip.getWrtNm());
equLog.setWrtOrgan(equip.getWrtOrgan()); equLog.setWrtOrgan(equip.getWrtOrgan());
equLog.setWrtDt(equip.getWrtDt()); equLog.setWrtDt(equip.getWrtDt());
equLog.setWrtPart(equip.getWrtPart());
equLog.setWrtTitle(equip.getWrtTitle());
equipLogRepository.save(equLog); equipLogRepository.save(equLog);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@ -257,8 +263,8 @@ public class EquipService {
return equipMapper.selectEduType(equip); return equipMapper.selectEduType(equip);
} }
public List<Equip> selectHistoryView(Equip equip) { public List<Equip> selectHistoryList(Equip equip) {
return equipRepository.findByEquKeyOrderByWrtDtDesc(equip.getEquKey()); return equipMapper.selectHistoryList(equip);
} }
public Equip selectHistoryDetail(Equip equip) { public Equip selectHistoryDetail(Equip equip) {
@ -284,8 +290,10 @@ public class EquipService {
equLog.setEquType(dbEquip.getEquType()); equLog.setEquType(dbEquip.getEquType());
equLog.setDetailType(dbEquip.getDetailType()); equLog.setDetailType(dbEquip.getDetailType());
equLog.setElContents("삭제"); equLog.setElContents("삭제");
equLog.setWrtNm(loginUser.getUserId()); equLog.setWrtNm(loginUser.getUserNm());
equLog.setWrtOrgan(loginUser.getOgCd()); equLog.setWrtOrgan(loginUser.getOgCd());
equLog.setWrtPart(loginUser.getOfcCd());
equLog.setWrtTitle(loginUser.getTitleCd());
equLog.setWrtDt(LocalDateTime.now()); equLog.setWrtDt(LocalDateTime.now());
equipLogRepository.save(equLog); equipLogRepository.save(equLog);
} }
@ -300,8 +308,8 @@ public class EquipService {
return equipMapper.selectEquipLogListCnt(equipLog); return equipMapper.selectEquipLogListCnt(equipLog);
} }
public String selectEquipFirstId(Equip equip) { public String selectEquipFirstUserSeq(Equip equip) {
return equipMapper.selectEquipFirstId(equip); return equipMapper.selectEquipFirstUserSeq(equip);
} }
@Transactional @Transactional
@ -373,6 +381,7 @@ public class EquipService {
useTmp.setDescription(useList.getDescription()); useTmp.setDescription(useList.getDescription());
useTmp.setWrtOrgan(useList.getWrtOrgan()); useTmp.setWrtOrgan(useList.getWrtOrgan());
useTmp.setWrtPart(useList.getWrtPart()); useTmp.setWrtPart(useList.getWrtPart());
useTmp.setWrtTitle(useList.getWrtTitle());
useTmp.setWrtUserSeq(useList.getWrtUserSeq()); useTmp.setWrtUserSeq(useList.getWrtUserSeq());
useTmp.setWrtNm(useList.getWrtNm()); useTmp.setWrtNm(useList.getWrtNm());
useTmp.setWrtDt(useList.getWrtDt()); useTmp.setWrtDt(useList.getWrtDt());
@ -380,8 +389,8 @@ public class EquipService {
} }
public List<UseList> selectUseInfoList(UseList useList) { public List<UseList> selectUseHistoryList(UseList useList) {
return useListRepository.findByMgtOrganAndUseNoAndUseTypeOrderByVersionNoDesc(useList.getMgtOrgan(),useList.getUseNo(),useList.getUseType()); return equipMapper.selectUseHistoryList(useList);
} }
@Transactional @Transactional
@ -391,6 +400,10 @@ public class EquipService {
} }
} }
public Integer selectFirstWrtUserSeq(UseList useList) {
return useListRepository.getWrtUserSeq(useList.getMgtOrgan(),useList.getUseNo(),useList.getUseType());
}
} }

View File

@ -307,6 +307,20 @@
and em.equ_key = #{equKey} and em.equ_key = #{equKey}
</select> </select>
<select id="selectHistoryList" resultType="Equip" parameterType="Equip">
select equ_key,
version_no,
wrt_user_seq,
wrt_organ,
wrt_part,
(select item_value from code_mgt where item_cd = wrt_title) as wrt_title,
wrt_nm,
wrt_dt
from equ_mgt
where equ_key = #{equKey}
order by wrt_dt desc
</select>
<select id="selectEduType" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Equip"> <select id="selectEduType" resultType="com.dbnt.faisp.util.ParamMap" parameterType="Equip">
select (select item_value from code_mgt cm where cm.item_cd = a.category_cd) as equ_type, select (select item_value from code_mgt cm where cm.item_cd = a.category_cd) as equ_type,
(select item_value from code_mgt cm where cm.item_cd = a.item_cd) as detail_type (select item_value from code_mgt cm where cm.item_cd = a.item_cd) as detail_type
@ -344,49 +358,49 @@
</select> </select>
<select id="selectEquipLogList" resultType="EquipLog" parameterType="EquipLog"> <select id="selectEquipLogList" resultType="EquipLog" parameterType="EquipLog">
select (select item_value from code_mgt cm where cm.item_cd = el.equ_type) as equ_type, select (select item_value from code_mgt cm where cm.item_cd = equ_type) as equ_type,
(select item_value from code_mgt cm where cm.item_cd = el.detail_type) as detail_name, (select item_value from code_mgt cm where cm.item_cd = detail_type) as detail_name,
detail_type, detail_type,
(select item_value from code_mgt where item_cd = wrt_organ) as sosok, (select item_value from code_mgt where item_cd = wrt_organ) as sosok,
(select item_value from code_mgt where item_cd = ofc_cd ) as detail_sosok, (select item_value from code_mgt where item_cd = wrt_part) as detail_sosok,
el_contents, el_contents,
wrt_part,
(select item_value from code_mgt where item_cd = wrt_title) as wrt_title,
wrt_nm, wrt_nm,
el.wrt_dt wrt_dt
from equ_log el, from equ_log
user_info ui where wrt_organ in
where el.wrt_nm = ui.user_id
and wrt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")"> <foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
order by el.wrt_dt desc order by wrt_dt desc
limit #{rowCnt} offset #{firstIndex} limit #{rowCnt} offset #{firstIndex}
</select> </select>
<select id="selectEquipLogListCnt" resultType="int" parameterType="EquipLog"> <select id="selectEquipLogListCnt" resultType="int" parameterType="EquipLog">
select count(*) select count(*)
from( from(
select (select item_value from code_mgt cm where cm.item_cd = el.equ_type) as equ_type, select (select item_value from code_mgt cm where cm.item_cd = equ_type) as equ_type,
(select item_value from code_mgt cm where cm.item_cd = el.detail_type) as detail_name, (select item_value from code_mgt cm where cm.item_cd = detail_type) as detail_name,
detail_type, detail_type,
(select item_value from code_mgt where item_cd = wrt_organ) as sosok, (select item_value from code_mgt where item_cd = wrt_organ) as sosok,
(select item_value from code_mgt where item_cd = ofc_cd ) as detail_sosok, (select item_value from code_mgt where item_cd = wrt_part) as detail_sosok,
el_contents, el_contents,
wrt_part,
wrt_title,
wrt_nm, wrt_nm,
el.wrt_dt wrt_dt
from equ_log el, from equ_log
user_info ui where wrt_organ in
where el.wrt_nm = ui.user_id
and wrt_organ in
<foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")"> <foreach collection="downOrganCdList" item="item" index="index" separator="," open="(" close=")">
#{item} #{item}
</foreach> </foreach>
order by el.wrt_dt desc order by wrt_dt desc
) a ) a
</select> </select>
<select id="selectEquipFirstId" resultType="String" parameterType="Equip"> <select id="selectEquipFirstUserSeq" resultType="String" parameterType="Equip">
select wrt_nm select wrt_user_seq
from equ_mgt from equ_mgt
where equ_key = #{equKey} where equ_key = #{equKey}
order by version_no asc order by version_no asc
@ -608,5 +622,22 @@
and mgt_organ = #{mgtOrgan} and mgt_organ = #{mgtOrgan}
</select> </select>
<select id="selectUseHistoryList" resultType="UseList" parameterType="UseList">
select mgt_organ,
use_no,
version_no,
use_type,
wrt_organ,
wrt_part,
(select item_value from code_mgt where item_cd = wrt_title) as wrt_title,
wrt_nm,
wrt_dt
from use_list
where mgt_organ = #{mgtOrgan}
and use_no = #{useNo}
and use_type = #{useType}
order by wrt_nm desc
</select>
</mapper> </mapper>

View File

@ -15,7 +15,7 @@ $(document).on('change', '#mgtOrgan', function (){
function changeManager(ogCd){ function changeManager(ogCd){
$.ajax({ $.ajax({
url: '/target/partInfoSelecBox', url: '/equip/cellPhoneSelecBox',
data: { data: {
ogCd, ogCd,
}, },

View File

@ -293,11 +293,7 @@ $(document).on('click', '#statusExcel', function (){
} }
}) })
$(document).on('click', '#closeModal', function (){ $(document).on('click', '#btn-close', function (){
location.reload();
})
$(document).on('click', '.btn-close', function (){
location.reload(); location.reload();
}) })

View File

@ -17,6 +17,7 @@
<input type="hidden" name="phoneKey" th:value="${info.phoneKey}"> <input type="hidden" name="phoneKey" th:value="${info.phoneKey}">
<input type="hidden" name="wrtOrgan" th:value="${info.wrtOrgan}"> <input type="hidden" name="wrtOrgan" th:value="${info.wrtOrgan}">
<input type="hidden" name="wrtPart" th:value="${info.wrtPart}"> <input type="hidden" name="wrtPart" th:value="${info.wrtPart}">
<input type="hidden" name="wrtTitle" th:value="${info.wrtTitle}">
<input type="hidden" name="wrtUserSeq" th:value="${info.wrtUserSeq}"> <input type="hidden" name="wrtUserSeq" th:value="${info.wrtUserSeq}">
<input type="hidden" name="wrtNm" th:value="${info.wrtNm}"> <input type="hidden" name="wrtNm" th:value="${info.wrtNm}">
<div class="row mb-3"> <div class="row mb-3">
@ -39,12 +40,12 @@
</div> </div>
<div class="mb-3 row"> <div class="mb-3 row">
<label for="ogCd" class="col-sm-4 col-form-label text-center">사용자</label> <label for="ogCd" class="col-sm-4 col-form-label text-center">사용자</label>
<div class="col-sm-3"> <div class="col-sm-6">
<select class="form-select form-select-sm" id="pUserSeq" name="pUserSeq"> <select class="form-select form-select-sm" id="pUserSeq" name="pUserSeq">
<option value="">선택</option> <option value="">선택</option>
<th:block th:unless="${info.phoneKey eq null}"> <th:block th:unless="${info.phoneKey eq null}">
<th:block th:each="uInfo:${managerList}"> <th:block th:each="uInfo:${managerList}">
<option th:value="${uInfo.user_seq}" th:text="${uInfo.user_name}" th:selected="${uInfo.user_seq eq info.pUserSeq}"></option> <option th:value="${uInfo.user_seq}" th:text="|${uInfo.title_cd} ${uInfo.user_nm}|" th:selected="${uInfo.user_seq eq info.pUserSeq}"></option>
</th:block> </th:block>
</th:block> </th:block>
</select> </select>
@ -94,10 +95,12 @@
</th:block> </th:block>
<button type="button" class="btn btn-primary" id="saveCellPhone" <button type="button" class="btn btn-primary" id="saveCellPhone"
th:if="${info.phoneKey eq null}">저장</button> th:if="${info.phoneKey eq null}">저장</button>
<button type="button" class="btn btn-primary" id="updateCellPhone" <th:block th:if="${info.phoneKey != null}">
th:unless="${info.phoneKey eq null}">수정</button> <button type="button" class="btn btn-warning" id="updateCellPhone"
th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">수정</button>
<button type="button" class="btn btn-danger" id="deleteCellPhoneM" <button type="button" class="btn btn-danger" id="deleteCellPhoneM"
th:if="${info.phoneKey != null} and ${accessAuth eq 'ACC003'}">삭제</button> th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">삭제</button>
</th:block>
</div> </div>
</div> </div>
</html> </html>

View File

@ -41,7 +41,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<table class="table table-striped"> <table class="table table-hover table-bordered">
<thead> <thead>
<tr> <tr>
<th> <input type="checkbox" id="chk-all" class="equInfoCheckBox"></th> <th> <input type="checkbox" id="chk-all" class="equInfoCheckBox"></th>
@ -54,7 +54,7 @@
<th>카카오톡 ID</th> <th>카카오톡 ID</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="table-group-divider">
<tr class="cellPhoneTr" th:each="cp:${cellPhoneList}"> <tr class="cellPhoneTr" th:each="cp:${cellPhoneList}">
<td class="cpChk"> <td class="cpChk">
<input type="checkbox" name="cpChk" class="cellPhoneCheckBox"> <input type="checkbox" name="cpChk" class="cellPhoneCheckBox">
@ -71,7 +71,10 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="row justify-content-center"> <div class="row justify-content-between">
<div class="col-auto">
<button type="button" class="btn btn-danger"id="deleteCellPhone" th:if="${accessAuth eq 'ACC003'}">삭제</button>
</div>
<div class="col-auto"> <div class="col-auto">
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
<ul class="pagination"> <ul class="pagination">
@ -97,9 +100,7 @@
</ul> </ul>
</nav> </nav>
</div> </div>
</div>
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-danger"id="deleteCellPhone" th:if="${accessAuth eq 'ACC003'}">삭제</button>
<button type="button" class="btn btn-success"id="addCellPhone" th:unless="${accessAuth eq 'ACC001'}">등록</button> <button type="button" class="btn btn-success"id="addCellPhone" th:unless="${accessAuth eq 'ACC001'}">등록</button>
</div> </div>
</div> </div>
@ -109,6 +110,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</main> </main>
<div class="modal fade" id="cellPhoneEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true"> <div class="modal fade" id="cellPhoneEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">

View File

@ -2,6 +2,6 @@
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<option value="">-선택-</option> <option value="">-선택-</option>
<th:block th:each="info:${managerList}"> <th:block th:each="info:${managerList}">
<option th:value="${info.user_seq}" th:text="${info.user_name}"></option> <option th:value="${info.user_seq}" th:text="|${info.title_cd} ${info.user_nm}|"></option>
</th:block> </th:block>
</html> </html>

View File

@ -30,7 +30,7 @@
<input type="hidden" class="equKey" th:value="${equInfo.equKey}"> <input type="hidden" class="equKey" th:value="${equInfo.equKey}">
<input type="hidden" class="verNo" th:value="${equInfo.versionNo}" > <input type="hidden" class="verNo" th:value="${equInfo.versionNo}" >
</td> </td>
<td th:text="${equInfo.wrtNm}"></td> <td th:text="|${equInfo.wrtTitle} ${equInfo.wrtNm}|"></td>
<td th:text="${#temporals.format(equInfo.wrtDt, 'yyyy-MM-dd')}"></td> <td th:text="${#temporals.format(equInfo.wrtDt, 'yyyy-MM-dd')}"></td>
</tr> </tr>
</tbody> </tbody>
@ -93,7 +93,7 @@
</div> </div>
<div class="modal-footer justify-content-between"> <div class="modal-footer justify-content-between">
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-secondary" id="closeModal" data-bs-dismiss="modal">닫기</button> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
</div> </div>
</div> </div>
</div> </div>

View File

@ -39,7 +39,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<table class="table table-striped"> <table class="table table-hover table-bordered">
<thead> <thead>
<tr> <tr>
<th> <input type="checkbox" id="chk-all" class="equInfoCheckBox"></th> <th> <input type="checkbox" id="chk-all" class="equInfoCheckBox"></th>
@ -52,7 +52,7 @@
<th>비고</th> <th>비고</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="table-group-divider">
<tr th:each="equ:${equipList}"> <tr th:each="equ:${equipList}">
<td> <td>
<input type="checkbox" name="equChk" class="equInfoCheckBox"> <input type="checkbox" name="equChk" class="equInfoCheckBox">
@ -73,7 +73,10 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="row justify-content-center"> <div class="row justify-content-between">
<div class="col-auto">
<input type="button" class="btn btn-danger" value="삭제" id="equDeleteBtn" th:if="${accessAuth eq 'ACC003'}">
</div>
<div class="col-auto"> <div class="col-auto">
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
<ul class="pagination"> <ul class="pagination">
@ -99,9 +102,7 @@
</ul> </ul>
</nav> </nav>
</div> </div>
</div>
<div class="col-auto"> <div class="col-auto">
<input type="button" class="btn btn-danger" value="삭제" id="equDeleteBtn" th:if="${accessAuth eq 'ACC003'}">
<input type="button" class="btn btn-success" value="수정" id="equUpdateBtn" th:unless="${accessAuth eq 'ACC001'}"> <input type="button" class="btn btn-success" value="수정" id="equUpdateBtn" th:unless="${accessAuth eq 'ACC001'}">
<input type="button" class="btn btn-success" value="수정이력" id="historyBtn" th:unless="${accessAuth eq 'ACC001'}"> <input type="button" class="btn btn-success" value="수정이력" id="historyBtn" th:unless="${accessAuth eq 'ACC001'}">
</div> </div>
@ -112,6 +113,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</main> </main>
<div class="modal fade" id="equipModifyModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true"> <div class="modal fade" id="equipModifyModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="userEditModalLabel" aria-hidden="true">

View File

@ -44,7 +44,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<table class="table table-striped"> <table class="table table-hover table-bordered">
<thead> <thead>
<tr> <tr>
<th>분류</th> <th>분류</th>
@ -56,13 +56,13 @@
<th>수정일시</th> <th>수정일시</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="table-group-divider">
<tr th:each="log:${logList}"> <tr th:each="log:${logList}">
<td th:text="${log.equType}"></td> <td th:text="${log.equType}"></td>
<td th:text="${log.detailName}" style="color: blue; cursor:pointer;" th:onclick="|location.href='@{/equip/List(detailType=${log.detailType})}'|"></td> <td th:text="${log.detailName}" style="color: blue; cursor:pointer;" th:onclick="|location.href='@{/equip/List(detailType=${log.detailType})}'|"></td>
<td th:text="${log.sosok}"></td> <td th:text="${log.sosok}"></td>
<td th:text="${log.detailSosok}"></td> <td th:text="${log.detailSosok}"></td>
<td th:text="${log.wrtNm}"></td> <td th:text="|${log.wrtTitle} ${log.wrtNm}|"></td>
<td th:text="${log.elContents}"></td> <td th:text="${log.elContents}"></td>
<td th:text="${#temporals.format(log.wrtDt, 'yyyy-MM-dd')}"></td> <td th:text="${#temporals.format(log.wrtDt, 'yyyy-MM-dd')}"></td>
</tr> </tr>

View File

@ -2,7 +2,7 @@
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="menuEditModalLabel">수정</h5> <h5 class="modal-title" id="menuEditModalLabel">수정</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" id="btn-close" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form id="equipModifyForm" th:action="@{/equip/updateEquip}" method="post" enctype="multipart/form-data"> <form id="equipModifyForm" th:action="@{/equip/updateEquip}" method="post" enctype="multipart/form-data">
@ -90,9 +90,9 @@
</div> </div>
<div class="modal-footer justify-content-between"> <div class="modal-footer justify-content-between">
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-secondary" id="closeModal" data-bs-dismiss="modal">닫기</button> <button type="button" class="btn btn-secondary" id="btn-close" data-bs-dismiss="modal">닫기</button>
<button type="button" class="btn btn-primary" id="updateEquip" th:if="${accessAuth eq 'ACC003'} or ${wrtId eq userId}">수정</button> <button type="button" class="btn btn-warning" id="updateEquip" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">수정</button>
<button type="button" class="btn btn-danger" id="deleteEquip" th:if="${accessAuth eq 'ACC003'} or ${wrtId eq userId}">삭제</button> <button type="button" class="btn btn-danger" id="deleteEquip" th:if="${accessAuth eq 'ACC003'} or ${wrtUserSeq eq userSeq}">삭제</button>
</div> </div>
</div> </div>
</html> </html>

View File

@ -36,7 +36,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<table class="table table-striped"> <table class="table table-hover table-bordered">
<thead> <thead>
<tr> <tr>
<th rowspan="2">연번</th> <th rowspan="2">연번</th>
@ -78,7 +78,7 @@
<th>서귀포서</th> <th>서귀포서</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="table-group-divider">
<tr class="" th:each="equip,index:${equipList}"> <tr class="" th:each="equip,index:${equipList}">
<td th:text="${index.index+1}"></td> <td th:text="${index.index+1}"></td>
<td class="table_id" th:text="${equip.equ_type}"></td> <td class="table_id" th:text="${equip.equ_type}"></td>

View File

@ -67,7 +67,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<table class="table table-striped"> <table class="table table-hover table-bordered">
<thead> <thead>
<tr> <tr>
<th> <input type="checkbox" id="chk-all" class="useCheckBox"></th> <th> <input type="checkbox" id="chk-all" class="useCheckBox"></th>
@ -80,7 +80,7 @@
<th>최종수정일</th> <th>최종수정일</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="table-group-divider">
<tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}"> <tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}">
<td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td> <td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td>
<td th:text="${list.useNo}"></td> <td th:text="${list.useNo}"></td>
@ -96,7 +96,10 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="row justify-content-center"> <div class="row justify-content-between">
<div class="col-auto">
<button type="button" class="btn btn-danger"id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
</div>
<div class="col-auto"> <div class="col-auto">
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
<ul class="pagination"> <ul class="pagination">
@ -122,11 +125,10 @@
</ul> </ul>
</nav> </nav>
</div> </div>
</div>
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-danger"id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
<button type="button" class="btn btn-success"id="addPvre" th:unless="${accessAuth eq 'ACC001'}">등록</button>
<button type="button" class="btn btn-success"id="historyBtn">수정이력</button> <button type="button" class="btn btn-success"id="historyBtn">수정이력</button>
<button type="button" class="btn btn-success"id="addPvre" th:unless="${accessAuth eq 'ACC001'}">등록</button>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -67,7 +67,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<div class="row"> <div class="row">
<table class="table table-striped"> <table class="table table-hover table-bordered">
<thead> <thead>
<tr> <tr>
<th> <input type="checkbox" id="chk-all" class="useCheckBox"></th> <th> <input type="checkbox" id="chk-all" class="useCheckBox"></th>
@ -80,7 +80,7 @@
<th>최종수정일</th> <th>최종수정일</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="table-group-divider">
<tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}"> <tr class="useTr" th:each="list:${useList}" th:data-useNo="${list.useNo}" th:data-mgtOrgan="${list.mgtOrgan}" th:data-useType="${list.useType}">
<td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td> <td class="useChk"><input type="checkbox" name="useChk" class="useCheckBox"></td>
<td th:text="${list.useNo}"></td> <td th:text="${list.useNo}"></td>
@ -91,12 +91,14 @@
<td th:text="${list.peopleCnt}"></td> <td th:text="${list.peopleCnt}"></td>
<td th:text="${list.description}"></td> <td th:text="${list.description}"></td>
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="row justify-content-center"> <div class="row justify-content-between">
<div class="col-auto">
<button type="button" class="btn btn-danger"id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
</div>
<div class="col-auto"> <div class="col-auto">
<nav aria-label="Page navigation"> <nav aria-label="Page navigation">
<ul class="pagination"> <ul class="pagination">
@ -122,11 +124,10 @@
</ul> </ul>
</nav> </nav>
</div> </div>
</div>
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-danger"id="deleteUse" th:if="${accessAuth eq 'ACC003'}">삭제</button>
<button type="button" class="btn btn-success"id="addQir" th:unless="${accessAuth eq 'ACC001'}">등록</button>
<button type="button" class="btn btn-success"id="historyBtn">수정이력</button> <button type="button" class="btn btn-success"id="historyBtn">수정이력</button>
<button type="button" class="btn btn-success"id="addQir" th:unless="${accessAuth eq 'ACC001'}">등록</button>
</div>
</div> </div>
</div> </div>
</div> </div>

View File

@ -29,7 +29,7 @@
<td> <td>
<input type="checkbox" class="hisChk"> <input type="checkbox" class="hisChk">
</td> </td>
<td th:text="${list.wrtNm}"></td> <td th:text="|${list.wrtTitle} ${list.wrtNm}|"></td>
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td> <td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
</tr> </tr>
</tbody> </tbody>

View File

@ -71,7 +71,7 @@
<div class="modal-footer justify-content-between"> <div class="modal-footer justify-content-between">
<div class="col-auto"> <div class="col-auto">
<button type="button" class="btn btn-secondary" id="closeModal" data-bs-dismiss="modal">닫기</button> <button type="button" class="btn btn-secondary" id="closeModal" data-bs-dismiss="modal">닫기</button>
<button type="button" class="btn btn-primary" id="updateUse">수정</button> <button type="button" class="btn btn-warning" id="updateUse" th:if="${accessAuth eq 'ACC003'} or ${info.wrtUserSeq eq userSeq}">수정</button>
</div> </div>
</div> </div>