Merge branch 'master' of https://dev.azure.com/DBNTech/ForeignAffairs/_git/ForeignAffairs
commit
1aa45812f4
|
|
@ -182,8 +182,12 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관
|
||||||
@GetMapping("/affairListModal")
|
@GetMapping("/affairListModal")
|
||||||
public ModelAndView affairListModal(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affair){
|
public ModelAndView affairListModal(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affair){
|
||||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/affairListModal");
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/affairListModal");
|
||||||
affair.setWrtUserSeq(loginUser.getUserSeq());
|
if(affair.getWrtUserSeq() == null) {
|
||||||
affair.setRatingOrgan(loginUser.getOgCd());
|
affair.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
|
}
|
||||||
|
if(affair.getWrtOrgan() == null) {
|
||||||
|
affair.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
}
|
||||||
affair.setFirstIndex(0);
|
affair.setFirstIndex(0);
|
||||||
affair.setRowCnt(9999);
|
affair.setRowCnt(9999);
|
||||||
mav.addObject("affairList", affairService.selectAffairBoardList(affair));
|
mav.addObject("affairList", affairService.selectAffairBoardList(affair));
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
||||||
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanApprv;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanApprv;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService;
|
||||||
|
|
@ -154,7 +155,7 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/intelligenceAnalyzeList/{type}")
|
@GetMapping("/intelligenceAnalyzeList/{type}")
|
||||||
public ModelAndView intelligenceAnalyzeList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, OperationPlan op){
|
public ModelAndView intelligenceAnalyzeList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, IntelligenceAnalyze ia){
|
||||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeList");
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeList");
|
||||||
|
|
||||||
//메뉴권한 확인
|
//메뉴권한 확인
|
||||||
|
|
@ -163,10 +164,10 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
switch (accessAuth){
|
switch (accessAuth){
|
||||||
case "ACC001": // 조회
|
case "ACC001": // 조회
|
||||||
case "ACC002": // 작성 // 자신이 작성한 문서만 열람가능
|
case "ACC002": // 작성 // 자신이 작성한 문서만 열람가능
|
||||||
op.setWrtUserSeq(loginUser.getUserSeq());
|
ia.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
break;
|
break;
|
||||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
||||||
op.setDownOrganCdList(loginUser.getDownOrganCdList());
|
ia.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -174,10 +175,10 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
switch (accessAuth){
|
switch (accessAuth){
|
||||||
case "ACC001": // 조회
|
case "ACC001": // 조회
|
||||||
case "ACC002": // 작성 // 자신의 관서 내에서 작성한 문서만 열람가능
|
case "ACC002": // 작성 // 자신의 관서 내에서 작성한 문서만 열람가능
|
||||||
op.setWrtOrgan(loginUser.getOgCd());
|
ia.setWrtOrgan(loginUser.getOgCd());
|
||||||
break;
|
break;
|
||||||
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
case "ACC003": // 관리 // 자신 외 하위 기관에서 작성한 문서 열람가능
|
||||||
op.setDownOrganCdList(loginUser.getDownOrganCdList());
|
ia.setDownOrganCdList(loginUser.getDownOrganCdList());
|
||||||
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
mav.addObject("mgtOrganList", loginUser.getDownOrganCdList());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -187,10 +188,10 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
if(type.equals("stay")) {
|
if(type.equals("stay")) {
|
||||||
if(apprvAuth==null) {
|
if(apprvAuth==null) {
|
||||||
if(!accessAuth.equals("ACC003")){
|
if(!accessAuth.equals("ACC003")){
|
||||||
op.setWrtUserSeq(loginUser.getUserSeq());
|
ia.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
op.setUserType("normalStayList");
|
ia.setUserType("normalStayList");
|
||||||
}else{
|
}else{
|
||||||
op.setUserType("managerStayList");
|
ia.setUserType("managerStayList");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
mav.addObject("userNm", loginUser.getUserNm());
|
mav.addObject("userNm", loginUser.getUserNm());
|
||||||
|
|
@ -199,17 +200,17 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
case "APC003": // 계장 // 결재대기 문서 조회
|
case "APC003": // 계장 // 결재대기 문서 조회
|
||||||
case "APC002": // 부장대행
|
case "APC002": // 부장대행
|
||||||
case "APC001": // 부장 // 결재대기 문서 조회
|
case "APC001": // 부장 // 결재대기 문서 조회
|
||||||
op.setOpState("DST002");
|
ia.setIaState("DST002");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if(type.equals("commit")){
|
}else if(type.equals("commit")){
|
||||||
if(apprvAuth==null) {
|
if(apprvAuth==null) {
|
||||||
if(!accessAuth.equals("ACC003")){
|
if(!accessAuth.equals("ACC003")){
|
||||||
op.setWrtUserSeq(loginUser.getUserSeq());
|
ia.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
op.setUserType("normalCommitList");
|
ia.setUserType("normalCommitList");
|
||||||
}else{
|
}else{
|
||||||
op.setUserType("managerCommitList");
|
ia.setUserType("managerCommitList");
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
switch (apprvAuth) {
|
switch (apprvAuth) {
|
||||||
|
|
@ -217,7 +218,7 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
case "APC003": // 계장 //
|
case "APC003": // 계장 //
|
||||||
case "APC002": // 부장대행
|
case "APC002": // 부장대행
|
||||||
case "APC001": // 부장 //
|
case "APC001": // 부장 //
|
||||||
op.setUserType("sectionCommitList");
|
ia.setUserType("sectionCommitList");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -225,14 +226,14 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
mav.addObject("accessAuth", accessAuth);
|
mav.addObject("accessAuth", accessAuth);
|
||||||
mav.addObject("apprvAuth", apprvAuth);
|
mav.addObject("apprvAuth", apprvAuth);
|
||||||
|
|
||||||
op.setQueryInfo();
|
ia.setQueryInfo();
|
||||||
mav.addObject("opList", intelligenceNetworkService.selectOperationPlanList(op));
|
mav.addObject("iaList", intelligenceNetworkService.selectIntelligenceAnalyzeList(ia));
|
||||||
op.setContentCnt(intelligenceNetworkService.selectOperationPlanListCnt(op));
|
ia.setContentCnt(intelligenceNetworkService.selectIntelligenceAnalyzeListCnt(ia));
|
||||||
op.setPaginationInfo();
|
ia.setPaginationInfo();
|
||||||
mav.addObject("type", type);
|
mav.addObject("type", type);
|
||||||
|
|
||||||
mav.addObject("searchUrl", "/intelligenceNetwork/intelligenceAnalyzeList/"+type);
|
mav.addObject("searchUrl", "/intelligenceNetwork/intelligenceAnalyzeList/"+type);
|
||||||
mav.addObject("searchParams", op);
|
mav.addObject("searchParams", ia);
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -240,7 +241,11 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
public ModelAndView intelligenceAnalyzeEditModal(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyze ia){
|
public ModelAndView intelligenceAnalyzeEditModal(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyze ia){
|
||||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal");
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal");
|
||||||
if(ia.getIaKey()!=null){
|
if(ia.getIaKey()!=null){
|
||||||
|
ia = intelligenceNetworkService.selectIntelligenceAnalyze(ia);
|
||||||
|
ia.setAffairList(intelligenceNetworkService.selectIntelligenceAnalyzeAffairKey(ia));
|
||||||
|
}else {
|
||||||
|
ia.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
ia.setWrtUserSeq(loginUser.getUserSeq());
|
||||||
}
|
}
|
||||||
|
|
||||||
mav.addObject("ia", ia);
|
mav.addObject("ia", ia);
|
||||||
|
|
@ -270,6 +275,28 @@ public class IntelligenceNetworkController { // 첩보수집활동 > 해양외
|
||||||
}
|
}
|
||||||
return intelligenceNetworkService.saveIntelligenceAnalyze(ia);
|
return intelligenceNetworkService.saveIntelligenceAnalyze(ia);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/intelligenceAnalyzeViewModal")
|
||||||
|
public ModelAndView intelligenceAnalyzeViewModal(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyze ia){
|
||||||
|
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal");
|
||||||
|
ia = intelligenceNetworkService.selectIntelligenceAnalyze(ia);
|
||||||
|
ia.setApprvList(intelligenceNetworkService.selectIntelligenceAnalyzeApprv(ia));
|
||||||
|
mav.addObject("ia", ia);
|
||||||
|
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||||
|
//메뉴권한 확인
|
||||||
|
mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getAccessAuth());
|
||||||
|
mav.addObject("apprvAuth", authMgtService.selectApprovalConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getApprovalAuth());
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/intelligenceAnalyzeChange")
|
||||||
|
public Integer intelligenceAnalyzeChange(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyzeApprv apprv){
|
||||||
|
apprv.setUserSeq(loginUser.getUserSeq());
|
||||||
|
apprv.setUserGrd(loginUser.getTitleCd());
|
||||||
|
apprv.setUserNm(loginUser.getUserNm());
|
||||||
|
apprv.setSaveDt(LocalDateTime.now());
|
||||||
|
return intelligenceNetworkService.intelligenceAnalyzeChange(apprv);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,14 @@ public interface IntelligenceNetworkMapper {
|
||||||
|
|
||||||
IntelligenceAnalyze selectAffairCnt(IntelligenceAnalyze ia);
|
IntelligenceAnalyze selectAffairCnt(IntelligenceAnalyze ia);
|
||||||
|
|
||||||
|
List<IntelligenceAnalyze> selectIntelligenceAnalyzeList(IntelligenceAnalyze ia);
|
||||||
|
|
||||||
|
Integer selectIntelligenceAnalyzeListCnt(IntelligenceAnalyze ia);
|
||||||
|
|
||||||
|
IntelligenceAnalyze selectIntelligenceAnalyze(IntelligenceAnalyze ia);
|
||||||
|
|
||||||
|
List<Integer> selectIntelligenceAnalyzeAffairKey(IntelligenceAnalyze ia);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,13 @@ public class IntelligenceAnalyze extends BaseModel {
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||||
private LocalDate iaEdate;
|
private LocalDate iaEdate;
|
||||||
@Column(name = "fi_cnt")
|
@Column(name = "fi_cnt")
|
||||||
private Integer fiCnt;
|
private Integer fiCnt=0;
|
||||||
@Column(name = "fa_cnt")
|
@Column(name = "fa_cnt")
|
||||||
private Integer faCnt;
|
private Integer faCnt=0;
|
||||||
@Column(name = "work_cnt")
|
@Column(name = "work_cnt")
|
||||||
private Integer workCnt;
|
private Integer workCnt=0;
|
||||||
@Column(name = "arrest_cnt")
|
@Column(name = "arrest_cnt")
|
||||||
private Integer arrestCnt;
|
private Integer arrestCnt=0;
|
||||||
@Column(name = "foreign_affairs")
|
@Column(name = "foreign_affairs")
|
||||||
private String foreignAffairs;
|
private String foreignAffairs;
|
||||||
@Column(name = "work")
|
@Column(name = "work")
|
||||||
|
|
@ -71,6 +71,8 @@ public class IntelligenceAnalyze extends BaseModel {
|
||||||
@Transient
|
@Transient
|
||||||
private String userType;
|
private String userType;
|
||||||
@Transient
|
@Transient
|
||||||
|
private List<IntelligenceAnalyzeApprv> apprvList;
|
||||||
|
@Transient
|
||||||
private List<Integer> affairList;
|
private List<Integer> affairList;
|
||||||
@Transient
|
@Transient
|
||||||
private Integer totalCnt;
|
private Integer totalCnt;
|
||||||
|
|
@ -84,5 +86,7 @@ public class IntelligenceAnalyze extends BaseModel {
|
||||||
private Integer joCnt;
|
private Integer joCnt;
|
||||||
@Transient
|
@Transient
|
||||||
private Integer muCnt;
|
private Integer muCnt;
|
||||||
|
@Transient
|
||||||
|
private Integer iaTotal;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,49 @@
|
||||||
|
package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model;
|
||||||
|
|
||||||
|
import lombok.*;
|
||||||
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamicInsert
|
||||||
|
@DynamicUpdate
|
||||||
|
@Table(name = "intelligence_analyze_apprv")
|
||||||
|
@IdClass(IntelligenceAnalyzeApprv.IntelligenceAnalyzeApprvId.class)
|
||||||
|
public class IntelligenceAnalyzeApprv {
|
||||||
|
@Id
|
||||||
|
@Column(name = "ia_key")
|
||||||
|
private Integer iaKey;
|
||||||
|
@Id
|
||||||
|
@Column(name = "apprv_seq")
|
||||||
|
private Integer apprvSeq;
|
||||||
|
@Column(name = "state")
|
||||||
|
private String state;
|
||||||
|
@Column(name = "user_seq")
|
||||||
|
private Integer userSeq;
|
||||||
|
@Column(name = "user_grd")
|
||||||
|
private String userGrd;
|
||||||
|
@Column(name = "user_nm")
|
||||||
|
private String userNm;
|
||||||
|
@Column(name = "opinion")
|
||||||
|
private String opinion;
|
||||||
|
@Column(name = "Instruction")
|
||||||
|
private String Instruction;
|
||||||
|
@Column(name = "save_dt")
|
||||||
|
private LocalDateTime saveDt;
|
||||||
|
|
||||||
|
@Embeddable
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public static class IntelligenceAnalyzeApprvId implements Serializable {
|
||||||
|
private Integer iaKey;
|
||||||
|
private Integer apprvSeq;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
|
||||||
|
public interface IntelligenceAnalyzeApprvRepository extends JpaRepository<IntelligenceAnalyzeApprv, IntelligenceAnalyzeApprv.IntelligenceAnalyzeApprvId> {
|
||||||
|
|
||||||
|
List<IntelligenceAnalyzeApprv> findByIaKey(Integer iaKey);
|
||||||
|
|
||||||
|
Optional<IntelligenceAnalyzeApprv> findTopByIaKeyOrderByApprvSeqDesc(Integer iaKey);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -5,11 +5,13 @@ import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.config.FileInfo;
|
import com.dbnt.faisp.config.FileInfo;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.mapper.IntelligenceNetworkMapper;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.mapper.IntelligenceNetworkMapper;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyze;
|
||||||
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeApprv;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeToAffair;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.IntelligenceAnalyzeToAffair;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlan;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanApprv;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanApprv;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile.OperationPlanFileId;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.OperationPlanFile.OperationPlanFileId;
|
||||||
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeApprvRepository;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeRepository;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeRepository;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeToAffairRepository;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.IntelligenceAnalyzeToAffairRepository;
|
||||||
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanApprvRepository;
|
import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.repository.OperationPlanApprvRepository;
|
||||||
|
|
@ -34,6 +36,7 @@ public class IntelligenceNetworkService extends BaseService {
|
||||||
private final OperationPlanRepository operationPlanRepository;
|
private final OperationPlanRepository operationPlanRepository;
|
||||||
private final IntelligenceAnalyzeRepository intelligenceAnalyzeRepository;
|
private final IntelligenceAnalyzeRepository intelligenceAnalyzeRepository;
|
||||||
private final IntelligenceAnalyzeToAffairRepository intelligenceAnalyzeToAffairRepository;
|
private final IntelligenceAnalyzeToAffairRepository intelligenceAnalyzeToAffairRepository;
|
||||||
|
private final IntelligenceAnalyzeApprvRepository intelligenceAnalyzeApprvRepository;
|
||||||
private final IntelligenceNetworkMapper intelligenceNetworkMapper;
|
private final IntelligenceNetworkMapper intelligenceNetworkMapper;
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
@ -153,6 +156,49 @@ public class IntelligenceNetworkService extends BaseService {
|
||||||
}
|
}
|
||||||
return iaKey;
|
return iaKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<IntelligenceAnalyze> selectIntelligenceAnalyzeList(IntelligenceAnalyze ia) {
|
||||||
|
return intelligenceNetworkMapper.selectIntelligenceAnalyzeList(ia);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer selectIntelligenceAnalyzeListCnt(IntelligenceAnalyze ia) {
|
||||||
|
return intelligenceNetworkMapper.selectIntelligenceAnalyzeListCnt(ia);
|
||||||
|
}
|
||||||
|
|
||||||
|
public IntelligenceAnalyze selectIntelligenceAnalyze(IntelligenceAnalyze ia) {
|
||||||
|
return intelligenceNetworkMapper.selectIntelligenceAnalyze(ia);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Integer> selectIntelligenceAnalyzeAffairKey(IntelligenceAnalyze ia) {
|
||||||
|
return intelligenceNetworkMapper.selectIntelligenceAnalyzeAffairKey(ia);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<IntelligenceAnalyzeApprv> selectIntelligenceAnalyzeApprv(IntelligenceAnalyze ia) {
|
||||||
|
return intelligenceAnalyzeApprvRepository.findByIaKey(ia.getIaKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transactional
|
||||||
|
public Integer intelligenceAnalyzeChange(IntelligenceAnalyzeApprv apprv) {
|
||||||
|
IntelligenceAnalyze saveIntelligenceAnalyze = intelligenceAnalyzeRepository.findById(apprv.getIaKey()).orElse(null);
|
||||||
|
saveIntelligenceAnalyze.setIaState(apprv.getState());
|
||||||
|
IntelligenceAnalyzeApprv lastApprv = intelligenceAnalyzeApprvRepository.findTopByIaKeyOrderByApprvSeqDesc(apprv.getIaKey()).orElse(null);
|
||||||
|
apprv.setApprvSeq(lastApprv==null?1:lastApprv.getApprvSeq()+1);
|
||||||
|
intelligenceAnalyzeApprvRepository.save(apprv);
|
||||||
|
|
||||||
|
switch (apprv.getState()){
|
||||||
|
case "DST003":
|
||||||
|
case "DST005":
|
||||||
|
// 반려시 작성자에게 반려 알림 발송
|
||||||
|
userAlarmService.sendAlarmToWrtUser(saveIntelligenceAnalyze.getIaKey(), saveIntelligenceAnalyze.getWrtUserSeq(), 34,"외사첩보망 견문관리 운영실적에 문서가 반려되었습니다.");
|
||||||
|
break;
|
||||||
|
case "DST004":
|
||||||
|
case "DST006":
|
||||||
|
// 부장승인시 작성자에게 승인 알림 발송
|
||||||
|
userAlarmService.sendAlarmToWrtUser(saveIntelligenceAnalyze.getIaKey(), saveIntelligenceAnalyze.getWrtUserSeq(), 34,"외사첩보망 견문관리 운영실적에 문서가 승인되었습니다.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return apprv.getIaKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,14 @@
|
||||||
<if test='endDate != null and endDate != ""'>
|
<if test='endDate != null and endDate != ""'>
|
||||||
and a.wrt_dt <= #{endDate}::date+1
|
and a.wrt_dt <= #{endDate}::date+1
|
||||||
</if>
|
</if>
|
||||||
<if test='ratingOrgan != null and ratingOrgan != ""'>
|
<choose>
|
||||||
and c.rating_organ = #{ratingOrgan}
|
<when test='ratingOrgan != null and ratingOrgan != ""'>
|
||||||
</if>
|
and c.rating_organ = #{ratingOrgan}
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
and (c.organ_up != 'T' or c.organ_up is null)
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
<if test="downOrganCdList != null">
|
<if test="downOrganCdList != null">
|
||||||
and a.wrt_organ in
|
and a.wrt_organ in
|
||||||
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||||
|
|
|
||||||
|
|
@ -123,4 +123,281 @@
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<sql id="selectIntelligenceAnalyzeListWhere">
|
||||||
|
<where>
|
||||||
|
<if test='wrtUserSeq != null and wrtUserSeq != ""'>
|
||||||
|
and wrt_user_seq = #{wrtUserSeq}
|
||||||
|
</if>
|
||||||
|
<if test='wrtOrgan != null and wrtOrgan != ""'>
|
||||||
|
and wrt_organ = #{wrtOrgan}
|
||||||
|
</if>
|
||||||
|
<if test='iaState != null and iaState != ""'>
|
||||||
|
and ia_state = #{iaState}
|
||||||
|
</if>
|
||||||
|
<if test='startDate != null and startDate != ""'>
|
||||||
|
and wrt_dt >= #{startDate}::date
|
||||||
|
</if>
|
||||||
|
<if test='endDate != null and endDate != ""'>
|
||||||
|
and wrt_dt <= #{endDate}::date+1
|
||||||
|
</if>
|
||||||
|
<if test="downOrganCdList != null">
|
||||||
|
and wrt_organ in
|
||||||
|
<foreach collection="downOrganCdList" item="organCd" separator="," open="(" close=")">
|
||||||
|
#{organCd}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test='userType != null and userType != ""'>
|
||||||
|
<if test='userType == "normalStayList"'>
|
||||||
|
and ia_state in ('DST002')
|
||||||
|
</if>
|
||||||
|
<if test='userType == "normalCommitList"'>
|
||||||
|
and ia_state in ('DST003', 'DST004', 'DST005', 'DST006')
|
||||||
|
</if>
|
||||||
|
<if test='userType == "sectionCommitList"'>
|
||||||
|
and ia_state in ('DST003', 'DST004', 'DST005', 'DST006')
|
||||||
|
</if>
|
||||||
|
<if test='userType == "managerStayList"'>
|
||||||
|
and ia_state in ('DST002')
|
||||||
|
</if>
|
||||||
|
<if test='userType == "managerCommitList"'>
|
||||||
|
and ia_state in ('DST003', 'DST004', 'DST005', 'DST006')
|
||||||
|
</if>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectIntelligenceAnalyzeList" resultType="IntelligenceAnalyze" parameterType="IntelligenceAnalyze">
|
||||||
|
select ia_key,
|
||||||
|
ia_sdate,
|
||||||
|
ia_edate,
|
||||||
|
sum("AAR001"+"AAR003"+"AAR004"+"AAR006"+"AAR008") as total_cnt,
|
||||||
|
sum("AAR001") as special_cnt,
|
||||||
|
sum("AAR003") as middle_cnt,
|
||||||
|
sum("AAR004") as tong_cnt,
|
||||||
|
sum("AAR006") as jo_cnt,
|
||||||
|
sum("AAR008") as mu_cnt,
|
||||||
|
fi_cnt,
|
||||||
|
(fa_cnt+work_cnt+arrest_cnt) as ia_total,
|
||||||
|
fa_cnt,
|
||||||
|
work_cnt,
|
||||||
|
arrest_cnt,
|
||||||
|
wrt_dt,
|
||||||
|
(select item_value from code_mgt where item_cd = ia_state) as ia_state,
|
||||||
|
wrt_organ,
|
||||||
|
wrt_user_seq,
|
||||||
|
(select item_value from code_mgt where item_cd = wrt_user_grd) as wrt_user_grd,
|
||||||
|
wrt_user_nm
|
||||||
|
from(
|
||||||
|
(select ia.ia_key,
|
||||||
|
iata.affair_key,
|
||||||
|
ia_sdate,
|
||||||
|
ia_edate,
|
||||||
|
fi_cnt,
|
||||||
|
fa_cnt,
|
||||||
|
work_cnt,
|
||||||
|
arrest_cnt,
|
||||||
|
wrt_dt,
|
||||||
|
ia_state,
|
||||||
|
wrt_organ,
|
||||||
|
wrt_user_seq,
|
||||||
|
wrt_user_grd,
|
||||||
|
wrt_user_nm
|
||||||
|
from intelligence_analyze ia,
|
||||||
|
intelligence_analyze_to_affair iata
|
||||||
|
where ia.ia_key = iata.ia_key) a left join
|
||||||
|
(select ab.affair_key,
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR001' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR001",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR003' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR003",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR004' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR004",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR006' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR006",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR008' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR008"
|
||||||
|
from affair_board ab,
|
||||||
|
affair_rating ar
|
||||||
|
where ab.affair_key = ar.affair_key
|
||||||
|
and ab.affair_category = 'CAT216'
|
||||||
|
and (ar.organ_up != 'T' or ar.organ_up is null))b
|
||||||
|
on a.affair_key = b.affair_key
|
||||||
|
)
|
||||||
|
<include refid="selectIntelligenceAnalyzeListWhere"></include>
|
||||||
|
group by ia_key,ia_sdate,ia_edate,fi_cnt,fa_cnt,work_cnt,arrest_cnt,wrt_dt,ia_state,wrt_organ,wrt_user_seq, wrt_user_grd,wrt_user_nm
|
||||||
|
order by ia_key desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectIntelligenceAnalyzeListCnt" resultType="Integer" parameterType="IntelligenceAnalyze">
|
||||||
|
select count(*)
|
||||||
|
from(
|
||||||
|
select ia_key,
|
||||||
|
ia_sdate,
|
||||||
|
ia_edate,
|
||||||
|
sum("AAR001"+"AAR003"+"AAR004"+"AAR006"+"AAR008") as total_cnt,
|
||||||
|
sum("AAR001") as special_cnt,
|
||||||
|
sum("AAR003") as middle_cnt,
|
||||||
|
sum("AAR004") as tong_cnt,
|
||||||
|
sum("AAR006") as jo_cnt,
|
||||||
|
sum("AAR008") as mu_cnt,
|
||||||
|
fi_cnt,
|
||||||
|
(fa_cnt+work_cnt+arrest_cnt) as ia_total,
|
||||||
|
fa_cnt,
|
||||||
|
work_cnt,
|
||||||
|
arrest_cnt,
|
||||||
|
wrt_dt,
|
||||||
|
ia_state,
|
||||||
|
wrt_organ,
|
||||||
|
wrt_user_seq,
|
||||||
|
wrt_user_grd,
|
||||||
|
wrt_user_nm
|
||||||
|
from(
|
||||||
|
(select ia.ia_key,
|
||||||
|
iata.affair_key,
|
||||||
|
ia_sdate,
|
||||||
|
ia_edate,
|
||||||
|
fi_cnt,
|
||||||
|
fa_cnt,
|
||||||
|
work_cnt,
|
||||||
|
arrest_cnt,
|
||||||
|
wrt_dt,
|
||||||
|
ia_state,
|
||||||
|
wrt_organ,
|
||||||
|
wrt_user_seq,
|
||||||
|
wrt_user_grd,
|
||||||
|
wrt_user_nm
|
||||||
|
from intelligence_analyze ia,
|
||||||
|
intelligence_analyze_to_affair iata
|
||||||
|
where ia.ia_key = iata.ia_key) a left join
|
||||||
|
(select ab.affair_key,
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR001' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR001",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR003' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR003",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR004' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR004",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR006' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR006",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR008' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR008"
|
||||||
|
from affair_board ab,
|
||||||
|
affair_rating ar
|
||||||
|
where ab.affair_key = ar.affair_key
|
||||||
|
and ab.affair_category = 'CAT216'
|
||||||
|
and (ar.organ_up != 'T' or ar.organ_up is null))b
|
||||||
|
on a.affair_key = b.affair_key
|
||||||
|
)
|
||||||
|
<include refid="selectIntelligenceAnalyzeListWhere"></include>
|
||||||
|
group by ia_key,ia_sdate,ia_edate,fi_cnt,fa_cnt,work_cnt,arrest_cnt,wrt_dt,ia_state,wrt_organ,wrt_user_seq, wrt_user_grd,wrt_user_nm
|
||||||
|
order by ia_key desc
|
||||||
|
)a
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectIntelligenceAnalyze" resultType="IntelligenceAnalyze" parameterType="IntelligenceAnalyze">
|
||||||
|
select ia_key,
|
||||||
|
ia_sdate,
|
||||||
|
ia_edate,
|
||||||
|
sum("AAR001"+"AAR003"+"AAR004"+"AAR006"+"AAR008") as total_cnt,
|
||||||
|
sum("AAR001") as special_cnt,
|
||||||
|
sum("AAR003") as middle_cnt,
|
||||||
|
sum("AAR004") as tong_cnt,
|
||||||
|
sum("AAR006") as jo_cnt,
|
||||||
|
sum("AAR008") as mu_cnt,
|
||||||
|
fi_cnt,
|
||||||
|
(fa_cnt+work_cnt+arrest_cnt) as ia_total,
|
||||||
|
fa_cnt,
|
||||||
|
work_cnt,
|
||||||
|
arrest_cnt,
|
||||||
|
foreign_affairs,
|
||||||
|
"work",
|
||||||
|
arrest_offenders,
|
||||||
|
analysis_evaluation,
|
||||||
|
measures,
|
||||||
|
wrt_dt,
|
||||||
|
ia_state,
|
||||||
|
wrt_organ,
|
||||||
|
wrt_user_seq,
|
||||||
|
(select item_value from code_mgt where item_cd = wrt_user_grd) as wrt_user_grd,
|
||||||
|
wrt_user_nm
|
||||||
|
from(
|
||||||
|
(select ia.ia_key,
|
||||||
|
iata.affair_key,
|
||||||
|
ia_sdate,
|
||||||
|
ia_edate,
|
||||||
|
fi_cnt,
|
||||||
|
fa_cnt,
|
||||||
|
work_cnt,
|
||||||
|
arrest_cnt,
|
||||||
|
foreign_affairs,
|
||||||
|
"work",
|
||||||
|
arrest_offenders,
|
||||||
|
analysis_evaluation,
|
||||||
|
measures,
|
||||||
|
wrt_dt,
|
||||||
|
ia_state,
|
||||||
|
wrt_organ,
|
||||||
|
wrt_user_seq,
|
||||||
|
wrt_user_grd,
|
||||||
|
wrt_user_nm
|
||||||
|
from intelligence_analyze ia,
|
||||||
|
intelligence_analyze_to_affair iata
|
||||||
|
where ia.ia_key = iata.ia_key) a left join
|
||||||
|
(select ab.affair_key,
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR001' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR001",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR003' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR003",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR004' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR004",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR006' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR006",
|
||||||
|
case
|
||||||
|
when ar.affair_rate = 'AAR008' then 1
|
||||||
|
else 0
|
||||||
|
end as "AAR008"
|
||||||
|
from affair_board ab,
|
||||||
|
affair_rating ar
|
||||||
|
where ab.affair_key = ar.affair_key
|
||||||
|
and ab.affair_category = 'CAT216'
|
||||||
|
and (ar.organ_up != 'T' or ar.organ_up is null))b
|
||||||
|
on a.affair_key = b.affair_key
|
||||||
|
)
|
||||||
|
where ia_key = #{iaKey}
|
||||||
|
group by ia_key,ia_sdate,ia_edate,fi_cnt,fa_cnt,work_cnt,arrest_cnt, foreign_affairs,"work",arrest_offenders,analysis_evaluation,measures,wrt_dt,ia_state,wrt_organ,wrt_user_seq, wrt_user_grd,wrt_user_nm
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectIntelligenceAnalyzeAffairKey" resultType="Integer" parameterType="IntelligenceAnalyze">
|
||||||
|
select affair_key
|
||||||
|
from intelligence_analyze_to_affair
|
||||||
|
where ia_key = #{iaKey}
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -7,23 +7,23 @@ $(function(){
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#allTab', function (){
|
$(document).on('click', '#allTab', function (){
|
||||||
location.href = "/intelligenceNetwork/operationPlanList/all";
|
location.href = "/intelligenceNetwork/intelligenceAnalyzeList/all";
|
||||||
})
|
})
|
||||||
$(document).on('click', '#stayTab', function (){
|
$(document).on('click', '#stayTab', function (){
|
||||||
location.href = "/intelligenceNetwork/operationPlanList/stay";
|
location.href = "/intelligenceNetwork/intelligenceAnalyzeList/stay";
|
||||||
})
|
})
|
||||||
$(document).on('click', '#commitTab', function (){
|
$(document).on('click', '#commitTab', function (){
|
||||||
location.href = "/intelligenceNetwork/operationPlanList/commit";
|
location.href = "/intelligenceNetwork/intelligenceAnalyzeList/commit";
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#addBtn', function (){
|
$(document).on('click', '#addBtn', function (){
|
||||||
getIntelligenceAnalyzeEditModal(null);
|
getIntelligenceAnalyzeEditModal(null);
|
||||||
})
|
})
|
||||||
|
|
||||||
function getIntelligenceAnalyzeEditModal(opKey){
|
function getIntelligenceAnalyzeEditModal(iaKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/intelligenceNetwork/intelligenceAnalyzeEditModal',
|
url: '/intelligenceNetwork/intelligenceAnalyzeEditModal',
|
||||||
data: {opKey: opKey},
|
data: {iaKey: iaKey},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
|
|
@ -43,8 +43,11 @@ function getIntelligenceAnalyzeEditModal(opKey){
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('click', '#affairModalBtn', function (){
|
$(document).on('click', '#affairModalBtn', function (){
|
||||||
const workStartDt = $("#iaSdate").val()
|
const affairKey = $("input[name=affairList]");
|
||||||
const workEndDt = $("#iaEdate").val()
|
console.log(affairKey);
|
||||||
|
console.log(affairKey.val());
|
||||||
|
const workStartDt = $("#iaSdate").val();
|
||||||
|
const workEndDt = $("#iaEdate").val();
|
||||||
if(!workStartDt||!workEndDt){
|
if(!workStartDt||!workEndDt){
|
||||||
alert("실적기간을 입력해주세요.");
|
alert("실적기간을 입력해주세요.");
|
||||||
}else{
|
}else{
|
||||||
|
|
@ -54,12 +57,19 @@ $(document).on('click', '#affairModalBtn', function (){
|
||||||
startDate: workStartDt,
|
startDate: workStartDt,
|
||||||
endDate: workEndDt,
|
endDate: workEndDt,
|
||||||
affairCategory:"CAT216",
|
affairCategory:"CAT216",
|
||||||
|
wrtUserSeq:$("input[name=wrtUserSeq]").val(),
|
||||||
|
wrtOrgan:$("input[name=wrtOrgan]").val(),
|
||||||
affairStatus:"DST006"
|
affairStatus:"DST006"
|
||||||
},
|
},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#affairListModalContent").empty().append(html)
|
$("#affairListModalContent").empty().append(html);
|
||||||
|
if(affairKey.val() != ""){
|
||||||
|
for(var i=0; i<affairKey.length;i++){
|
||||||
|
$(".rowChkBox[value="+affairKey.eq(i).val()+"]").prop("checked", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
$("#affairListModal").modal('show');
|
$("#affairListModal").modal('show');
|
||||||
},
|
},
|
||||||
error:function(e){
|
error:function(e){
|
||||||
|
|
@ -76,6 +86,10 @@ $(document).on('keyup', '.cntInput', function (){
|
||||||
|
|
||||||
$(document).on('click', '#getAffairBtn', function (){
|
$(document).on('click', '#getAffairBtn', function (){
|
||||||
const affairList=[];
|
const affairList=[];
|
||||||
|
if($(".rowChkBox:checked").length < 1){
|
||||||
|
alert("견문을 선택해주세요");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
$.each($(".rowChkBox:checked"), function (idx, chkBox){
|
$.each($(".rowChkBox:checked"), function (idx, chkBox){
|
||||||
const affairTr = $(chkBox).parents(".affairTr");
|
const affairTr = $(chkBox).parents(".affairTr");
|
||||||
affairList.push(affairTr.find(".rowChkBox").val());
|
affairList.push(affairTr.find(".rowChkBox").val());
|
||||||
|
|
@ -95,13 +109,8 @@ $(document).on('click', '#getAffairBtn', function (){
|
||||||
$("#tongCnt").val(data.tongCnt);
|
$("#tongCnt").val(data.tongCnt);
|
||||||
$("#joCnt").val(data.joCnt);
|
$("#joCnt").val(data.joCnt);
|
||||||
$("#muCnt").val(data.muCnt);
|
$("#muCnt").val(data.muCnt);
|
||||||
$("#affairList").val(data.affairList);
|
$("input[name=affairList]").val(data.affairList);
|
||||||
//$.each(data.affairList, function(affair, idx){
|
|
||||||
//$("#ddd").val($("#ddd").val()+","+affair);
|
|
||||||
//})
|
|
||||||
|
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
//trCarrerList.length = 0;
|
|
||||||
},
|
},
|
||||||
error : function(xhr, status) {
|
error : function(xhr, status) {
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
|
|
@ -111,8 +120,8 @@ $(document).on('click', '#getAffairBtn', function (){
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#editBtn', function (){
|
$(document).on('click', '#editBtn', function (){
|
||||||
$("#operationPlanViewModal").modal('hide');
|
$("#intelligenceAnalyzeViewModal").modal('hide');
|
||||||
getoOerationPlanEditModal($(this).attr("data-opkey"));
|
getIntelligenceAnalyzeEditModal($(this).attr("data-iakey"));
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).on('click', '#saveBtn', function (){
|
$(document).on('click', '#saveBtn', function (){
|
||||||
|
|
@ -163,19 +172,19 @@ function saveIntelligenceAnalyze(iaState){
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).on('click', '.operationPlanTr', function (){
|
$(document).on('click', '.intelligenceAnalyzeTr', function (){
|
||||||
getOperationPlanViewModal(Number($(this).find(".opKey").val()));
|
getIntelligenceAnalyzeViewModal(Number($(this).find(".iaKey").val()));
|
||||||
})
|
})
|
||||||
|
|
||||||
function getOperationPlanViewModal(opKey){
|
function getIntelligenceAnalyzeViewModal(iaKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/intelligenceNetwork/operationPlanViewModal',
|
url: '/intelligenceNetwork/intelligenceAnalyzeViewModal',
|
||||||
data: {opKey: opKey},
|
data: {iaKey: iaKey},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#operationPlanViewModalBody").empty().append(html)
|
$("#intelligenceAnalyzeViewModalBody").empty().append(html)
|
||||||
$("#operationPlanViewModal").modal('show');
|
$("#intelligenceAnalyzeViewModal").modal('show');
|
||||||
},
|
},
|
||||||
error:function(){
|
error:function(){
|
||||||
|
|
||||||
|
|
@ -192,7 +201,7 @@ $(document).on('click', '.apprvBtn', function (){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type : 'POST',
|
type : 'POST',
|
||||||
data : formData,
|
data : formData,
|
||||||
url : "/intelligenceNetwork/operationPlanStateChange",
|
url : "/intelligenceNetwork/intelligenceAnalyzeChange",
|
||||||
processData: false,
|
processData: false,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
beforeSend: function (xhr){
|
beforeSend: function (xhr){
|
||||||
|
|
@ -200,7 +209,7 @@ $(document).on('click', '.apprvBtn', function (){
|
||||||
},
|
},
|
||||||
success : function(result) {
|
success : function(result) {
|
||||||
alert(approval+"되었습니다");
|
alert(approval+"되었습니다");
|
||||||
getOperationPlanViewModal(result);
|
getIntelligenceAnalyzeViewModal(result);
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
},
|
},
|
||||||
error : function(xhr, status) {
|
error : function(xhr, status) {
|
||||||
|
|
|
||||||
|
|
@ -106,10 +106,24 @@
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-group-divider">
|
<tbody class="table-group-divider">
|
||||||
<tr class="operationPlanTr">
|
<tr class="intelligenceAnalyzeTr" th:each="list:${iaList}">
|
||||||
|
<td th:text="${list.iaKey}"></td>
|
||||||
|
<td th:text="|${list.iaSdate} ~ ${list.iaEdate}|"></td>
|
||||||
|
<td th:text="${list.totalCnt}"></td>
|
||||||
|
<td th:text="${list.specialCnt}"></td>
|
||||||
|
<td th:text="${list.middleCnt}"></td>
|
||||||
|
<td th:text="${list.tongCnt}"></td>
|
||||||
|
<td th:text="${list.joCnt}"></td>
|
||||||
|
<td th:text="${list.muCnt}"></td>
|
||||||
|
<td th:text="${list.fiCnt}"></td>
|
||||||
|
<td th:text="${list.iaTotal}"></td>
|
||||||
|
<td th:text="${list.faCnt}"></td>
|
||||||
|
<td th:text="${list.workCnt}"></td>
|
||||||
|
<td th:text="${list.arrestCnt}"></td>
|
||||||
|
<td th:text="${#temporals.format(list.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||||
|
<td th:text="${list.iaState}"></td>
|
||||||
<th:block>
|
<th:block>
|
||||||
|
<input type="hidden" class="iaKey" th:value="${list.iaKey}">
|
||||||
</th:block>
|
</th:block>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
@ -169,9 +183,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal fade" id="operationPlanViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="planViewModalLabel" aria-hidden="true">
|
<div class="modal fade" id="intelligenceAnalyzeViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="planViewModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
<div class="modal-content" id="operationPlanViewModalBody">
|
<div class="modal-content" id="intelligenceAnalyzeViewModalBody">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,19 @@
|
||||||
<form action="#" method="post" id="intelligenceAnalyzeEditForm">
|
<form action="#" method="post" id="intelligenceAnalyzeEditForm">
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<input type="hidden" id="affairList" name="affairList" th:value="${ia.affairList}">
|
<th:block th:if="${ia.iaKey eq null}">
|
||||||
<!-- <input type="hidden" name="opKey" th:value="${op.opKey}">
|
<input type="hidden" name="affairList" th:value="${ia.affairList}">
|
||||||
<input type="hidden" name="wrtOrgan" th:value="${op.wrtOrgan}">
|
</th:block>
|
||||||
<input type="hidden" name="wrtPart" th:value="${op.wrtPart}">
|
<th:block th:unless="${ia.iaKey eq null}" th:each="list:${ia.affairList}">
|
||||||
<input type="hidden" name="wrtUserSeq" th:value="${op.wrtUserSeq}">
|
<input type="hidden" name="affairList" th:value="${list}">
|
||||||
<input type="hidden" name="wrtUserGrd" th:value="${op.wrtUserGrd}">
|
</th:block>
|
||||||
<input type="hidden" name="wrtUserNm" th:value="${op.wrtUserNm}">
|
<input type="hidden" name="iaKey" th:value="${ia.iaKey}">
|
||||||
<input type="hidden" name="wrtDt" id="wrtDt" th:value="${#temporals.format(op.wrtDt, 'yyyy-MM-dd HH:mm')}"> -->
|
<input type="hidden" name="wrtOrgan" th:value="${ia.wrtOrgan}">
|
||||||
|
<input type="hidden" name="wrtPart" th:value="${ia.wrtPart}">
|
||||||
|
<input type="hidden" name="wrtUserSeq" th:value="${ia.wrtUserSeq}">
|
||||||
|
<input type="hidden" name="wrtUserGrd" th:value="${ia.wrtUserGrd}">
|
||||||
|
<input type="hidden" name="wrtUserNm" th:value="${ia.wrtUserNm}">
|
||||||
|
<input type="hidden" name="wrtDt" id="wrtDt" th:value="${#temporals.format(ia.wrtDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label 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">
|
<div class="col-sm-2">
|
||||||
|
|
@ -30,8 +35,8 @@
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="iaDateSelectorDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">실적기간</label>
|
<label for="iaDateSelectorDiv" class="col-sm-1 col-form-label col-form-label-sm text-center">실적기간</label>
|
||||||
<div class="input-group w-auto input-daterange" id="iaDateSelectorDiv">
|
<div class="input-group w-auto input-daterange" id="iaDateSelectorDiv">
|
||||||
<input type="text" class="form-control form-control-sm" id="iaSdate" name="iaSdate" readonly>
|
<input type="text" class="form-control form-control-sm" id="iaSdate" name="iaSdate" th:value="${ia.iaSdate}" readonly>
|
||||||
<input type="text" class="form-control form-control-sm" id="iaEdate" name="iaEdate" readonly>
|
<input type="text" class="form-control form-control-sm" id="iaEdate" name="iaEdate" th:value="${ia.iaEdate}" readonly>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="button" class="btn btn-sm btn-outline-primary" id="affairModalBtn" value="불러오기">
|
<input type="button" class="btn btn-sm btn-outline-primary" id="affairModalBtn" value="불러오기">
|
||||||
|
|
@ -59,20 +64,19 @@
|
||||||
<th>검거</th>
|
<th>검거</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody class="table-group-divider text-center">
|
<tbody class="table-group-divider">
|
||||||
<tr>
|
<tr>
|
||||||
<td><input class="form-control form-control-sm" id="totalCnt" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="totalCnt" type="number" th:value="${ia.totalCnt}" disabled></td>
|
||||||
<td><input class="form-control form-control-sm" id="specialCnt" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="specialCnt" type="number" th:value="${ia.specialCnt}" disabled></td>
|
||||||
<td><input class="form-control form-control-sm" id="middleCnt" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="middleCnt" type="number" th:value="${ia.middleCnt}" disabled></td>
|
||||||
<td><input class="form-control form-control-sm" id="tongCnt" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="tongCnt" type="number" th:value="${ia.tongCnt}" disabled></td>
|
||||||
<td><input class="form-control form-control-sm" id="joCnt" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="joCnt" type="number" th:value="${ia.joCnt}" disabled></td>
|
||||||
<td><input class="form-control form-control-sm" id="muCnt" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="muCnt" type="number" th:value="${ia.muCnt}" disabled></td>
|
||||||
<td><input class="form-control form-control-sm" name="fiCnt" type="number"></td>
|
<td><input class="form-control form-control-sm text-center" name="fiCnt" type="number" th:value="${ia.fiCnt}"></td>
|
||||||
<td><input class="form-control form-control-sm" id="totalCnt2" type="number" disabled></td>
|
<td><input class="form-control form-control-sm text-center" id="totalCnt2" type="number" th:value="${ia.iaTotal}" placeholder="자동합산" disabled></td>
|
||||||
<td><input class="form-control form-control-sm cntInput" name="faCnt" type="number"></td>
|
<td><input class="form-control form-control-sm cntInput text-center" name="faCnt" type="number" th:value="${ia.faCnt}"></td>
|
||||||
<td><input class="form-control form-control-sm cntInput" name="workCnt" type="number"></td>
|
<td><input class="form-control form-control-sm cntInput text-center" name="workCnt" type="number" th:value="${ia.workCnt}"></td>
|
||||||
<td><input class="form-control form-control-sm cntInput" name="arrestCnt" type="number"></td>
|
<td><input class="form-control form-control-sm cntInput text-center" name="arrestCnt" type="number" th:value="${ia.arrestCnt}"></td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
@ -82,31 +86,31 @@
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">외사활동</label>
|
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">외사활동</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<textarea id="targetLocation" name="foreignAffairs" rows="5" cols="139" ></textarea>
|
<textarea id="targetLocation" name="foreignAffairs" th:utext="${ia.foreignAffairs}" rows="5" cols="139" ></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">공작</label>
|
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">공작</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<textarea id="vulnerabilityAnalyze" name="work" rows="5" cols="139" ></textarea>
|
<textarea id="vulnerabilityAnalyze" name="work" th:utext="${ia.work}" rows="5" cols="139" ></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">외사사범 검거</label>
|
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">외사사범 검거</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<textarea id="eligibilityAnalyze" name="arrestOffenders" rows="5" cols="139" ></textarea>
|
<textarea id="eligibilityAnalyze" name="arrestOffenders" th:utext="${ia.arrestOffenders}" rows="5" cols="139" ></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">분석 및 평가</label>
|
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">분석 및 평가</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<textarea id="focusCollection" name="analysisEvaluation" rows="5" cols="139"></textarea>
|
<textarea id="focusCollection" name="analysisEvaluation" th:utext="${ia.analysisEvaluation}" rows="5" cols="139"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mb-1">
|
<div class="row mb-1">
|
||||||
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">대책</label>
|
<label for="hashTags" class="col-sm-1 col-form-label col-form-label-sm text-center">대책</label>
|
||||||
<div class="col-sm-11">
|
<div class="col-sm-11">
|
||||||
<textarea id="focusCollection" name="measures" rows="5" cols="139"></textarea>
|
<textarea id="focusCollection" name="measures" th:utext="${ia.measures}" rows="5" cols="139"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,173 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header bg-dark">
|
||||||
|
<h5 class="modal-title text-white" id="affairViewModalLabel">운영 실적 열람</h5>
|
||||||
|
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<input type="hidden" name="affairKey" id="viewModalAffairKey">
|
||||||
|
<ul class="nav nav-tabs" id="userTab" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link active" id="boardTab" data-bs-toggle="tab" data-bs-target="#boardTabPanel" type="button" role="tab" aria-controls="boardTabPanel" aria-selected="true">본문</button>
|
||||||
|
</li>
|
||||||
|
</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-1 col-form-label col-form-label-sm text-center">작성자</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="|${ia.wrtUserGrd} ${ia.wrtUserNm}|"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">작성일</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${#temporals.format(ia.wrtDt, 'yyyy-MM-dd HH:mm')}"></label>
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">상태</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="${ia.iaState}"></label>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">실적기간</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-start" th:text="|${ia.iaSdate} ~ ${ia.iaEdate}|"></label>
|
||||||
|
</div>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<div class="row justify-content-start text-center">
|
||||||
|
<table class="table table-sm table-bordered table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr class="table-secondary">
|
||||||
|
<th colspan="6">첩보수집실적</th>
|
||||||
|
<th rowspan="2">허위오보</th>
|
||||||
|
<th colspan="4">활용실적</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>계</th>
|
||||||
|
<th>특보</th>
|
||||||
|
<th>중보</th>
|
||||||
|
<th>통보</th>
|
||||||
|
<th>조사</th>
|
||||||
|
<th>무가치</th>
|
||||||
|
<th>계</th>
|
||||||
|
<th>외사<br>활동</th>
|
||||||
|
<th>공작</th>
|
||||||
|
<th>검거</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider text-center">
|
||||||
|
<tr>
|
||||||
|
<td th:text="${ia.totalCnt}"></td>
|
||||||
|
<td th:text="${ia.specialCnt}"></td>
|
||||||
|
<td th:text="${ia.middleCnt}"></td>
|
||||||
|
<td th:text="${ia.tongCnt}"></td>
|
||||||
|
<td th:text="${ia.joCnt}"></td>
|
||||||
|
<td th:text="${ia.muCnt}"></td>
|
||||||
|
<td th:text="${ia.fiCnt}"></td>
|
||||||
|
<td th:text="${ia.iaTotal}"></td>
|
||||||
|
<td th:text="${ia.faCnt}"></td>
|
||||||
|
<td th:text="${ia.workCnt}"></td>
|
||||||
|
<td th:text="${ia.arrestCnt}"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">외사활동</label>
|
||||||
|
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||||
|
<div th:utext="${ia.foreignAffairs}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">공작</label>
|
||||||
|
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||||
|
<div th:utext="${ia.work}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">외사사범 검거</label>
|
||||||
|
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||||
|
<div th:utext="${ia.arrestOffenders}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">분석 및 평가</label>
|
||||||
|
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||||
|
<div th:utext="${ia.analysisEvaluation}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="row mb-1">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">대책</label>
|
||||||
|
<div class="col-sm-11 form-control-sm" id="contentDiv">
|
||||||
|
<div th:utext="${ia.measures}"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12" th:unless="${#lists.isEmpty(ia.apprvList)}">
|
||||||
|
<hr>
|
||||||
|
<th:block th:each="apprv:${ia.apprvList}">
|
||||||
|
<div class="row">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center" th:if="${commonCode.itemCd eq apprv.state}" th:text="|결재결과: ${commonCode.itemValue}|"></label>
|
||||||
|
</th:block>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
|
<th:block th:each="commonCode:${session.commonCode.get('JT')}">
|
||||||
|
<th:block th:if="${commonCode.itemCd eq apprv.userGrd}" th:text="|결제자: ${commonCode.itemValue} ${apprv.userNm}|"></th:block>
|
||||||
|
</th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
|
<th:block th:text="|관리관 의견: ${apprv.opinion}|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
|
<th:block th:text="|지시사항: ${apprv.Instruction}|"></th:block>
|
||||||
|
</label>
|
||||||
|
<label class="col-sm-2 col-form-label col-form-label-sm text-center">
|
||||||
|
<th:block th:text="|결제일시: ${#temporals.format(apprv.saveDt, 'yyyy-MM-dd HH:mm:ss')}|"></th:block>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12" th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002' or apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and ia.iaState eq 'DST002'}">
|
||||||
|
<hr>
|
||||||
|
<form action="#" method="post" id="apprvForm">
|
||||||
|
<div class="row">
|
||||||
|
<input type="hidden" name="iaKey" th:value="${ia.iaKey}">
|
||||||
|
<input type="hidden" name="state" id="viewModalApprvValue">
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">관리관 의견</label>
|
||||||
|
<div class="col-10">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="opinion">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br/><br/>
|
||||||
|
<div class="row">
|
||||||
|
<label class="col-sm-1 col-form-label col-form-label-sm text-center">지시사항</label>
|
||||||
|
<div class="col-10">
|
||||||
|
<input type="text" class="form-control form-control-sm" name="Instruction">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</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>
|
||||||
|
</div>
|
||||||
|
<div class="col-auto">
|
||||||
|
<th:block th:if="${(apprvAuth eq 'APC001' or apprvAuth eq 'APC002' or apprvAuth eq 'APC003' or apprvAuth eq 'APC004') and ia.iaState eq 'DST002'}">
|
||||||
|
<button type="button" class="btn btn-danger apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST003':'DST005'}" th:value="반려">반려</button>
|
||||||
|
<button type="button" class="btn btn-success apprvBtn" th:data-planstate="${apprvAuth eq 'APC004'||apprvAuth eq 'APC003'?'DST004':'DST006'}" th:value="승인">승인</button>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:unless="${ia.iaState eq 'DST004' or ia.iaState eq 'DST006'}"><!--승인 상태일때는 수정 불가 -->
|
||||||
|
<th:block th:if="${userSeq eq ia.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
|
<button type="button" class="btn btn-warning" th:data-iakey="${ia.iaKey}" id="editBtn">수정</button>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
Loading…
Reference in New Issue