parent
d473c1972d
commit
c32ecb1be9
|
|
@ -41,6 +41,8 @@ public class BaseModel {
|
|||
private Boolean dashboardFlag = false;
|
||||
@Transient
|
||||
private Integer refDocKey;
|
||||
@Transient
|
||||
private String modalType;
|
||||
|
||||
public void setQueryInfo(){
|
||||
setFirstIndex((getPageIndex()-1)*getRowCnt());
|
||||
|
|
|
|||
|
|
@ -159,8 +159,9 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
@GetMapping("/affairViewModal")
|
||||
public ModelAndView affairViewModal(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affairBoard){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affair/affairViewModal");
|
||||
mav.addObject("modalType", affairBoard.getModalType());
|
||||
affairBoard = affairService.selectAffairBoard(affairBoard.getAffairKey());
|
||||
affairBoard.setAffairStatus(getAffairRating(affairBoard, loginUser.getOgCd()).getAffairStatus());
|
||||
affairBoard.setAffairStatus(affairService.getAffairRating(affairBoard, loginUser.getOgCd()).getAffairStatus());
|
||||
|
||||
mav.addObject("affair", affairBoard);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
|
|
@ -177,40 +178,7 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
public AffairBoard affairBoardJson(AffairBoard affair, HttpSession session){
|
||||
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
|
||||
affair = affairService.selectAffairBoard(affair.getAffairKey());
|
||||
affair.setWrtPart(Utils.searchCodeValue(affair.getWrtPart(), codeMap.get(affair.getWrtOrgan())));
|
||||
affair.setWrtUserGrd(Utils.searchCodeValue(affair.getWrtUserGrd(), codeMap.get("JT")));
|
||||
affair.setAffairType1(Utils.searchCodeValue(affair.getAffairType1(), codeMap.get("DC01")));
|
||||
affair.setAffairType2(Utils.searchCodeValue(affair.getAffairType2(), codeMap.get("DC02")));
|
||||
affair.setAffairType3(Utils.searchCodeValue(affair.getAffairType3(), codeMap.get("DC03")));
|
||||
affair.setAffairType4(Utils.searchCodeValue(affair.getAffairType4(), codeMap.get("DC04")));
|
||||
AffairRating rating = getAffairRating(affair, affair.getWrtOrgan());
|
||||
affair.setSectionNm(rating.getSectionNm());
|
||||
affair.setHeadNm(rating.getHeadNm());
|
||||
affair.setOrganUp(rating.getOrganUp().equals("T")?"O":"");
|
||||
affair.setLastEtc(Utils.isEmpty(rating.getSectionEtc())?rating.getHeadEtc():rating.getSectionEtc());
|
||||
affair.setReference(rating.getRatingOrgan().equals("OG027")?"경비작전과장":"정보외사과장");
|
||||
if(rating.getRatingOrgan().equals("OG001")){
|
||||
affair.setReception("해양경찰청장");
|
||||
}else if(rating.getRatingOrgan().equals("OG027")){
|
||||
affair.setReception("서해5도특별경비단장");
|
||||
}else{
|
||||
String organNm = Utils.searchCodeValue(rating.getRatingOrgan(), codeMap.get("OG"));
|
||||
if(organNm.endsWith("청")){
|
||||
affair.setReception(organNm.substring(0, organNm.length()-1)+"지방청장");
|
||||
}else{
|
||||
affair.setReception(organNm.substring(0, organNm.length()-1)+"경찰서장");
|
||||
}
|
||||
}
|
||||
switch (rating.getAffairRate()){
|
||||
case "AAR001": affair.setAffairRate1("O");break;
|
||||
case "AAR003": affair.setAffairRate2("O");break;
|
||||
case "AAR004": affair.setAffairRate3("O");break;
|
||||
case "AAR006": affair.setAffairRate4("O");break;
|
||||
case "AAR008": affair.setAffairRate5("O");break;
|
||||
}
|
||||
for(AffairFile file: affair.getFileList()){
|
||||
file.setOrigNm(file.getOrigNm()+"."+file.getFileExtn());
|
||||
}
|
||||
affair = affairService.getPrintTypeAffairBoard(affair, codeMap);
|
||||
return affair;
|
||||
}
|
||||
|
||||
|
|
@ -236,7 +204,7 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
ModelAndView mav = new ModelAndView("print/affair");
|
||||
affairBoard = affairService.selectAffairBoard(affairBoard.getAffairKey());
|
||||
mav.addObject("affair", affairBoard);
|
||||
mav.addObject("affairRating", getAffairRating(affairBoard, affairBoard.getWrtOrgan()));
|
||||
mav.addObject("affairRating", affairService.getAffairRating(affairBoard, affairBoard.getWrtOrgan()));
|
||||
return mav;
|
||||
}
|
||||
|
||||
|
|
@ -339,25 +307,5 @@ public class AffairController { // 첩보수집활동 > 외사경찰 견문관
|
|||
}
|
||||
|
||||
|
||||
private AffairRating getAffairRating(AffairBoard affairBoard, String ogCd){
|
||||
AffairRating affairRating = null;
|
||||
for(AffairRating rating: affairBoard.getRateList()){
|
||||
if(rating.getRatingOrgan().equals(ogCd)){
|
||||
affairRating = rating;
|
||||
//affairBoard.setAffairStatus(rating.getAffairStatus());
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(affairRating==null){
|
||||
for(AffairRating rating: affairBoard.getRateList()){
|
||||
if(rating.getOrganUp()==null || !rating.getOrganUp().equals("T")){
|
||||
affairRating = rating;
|
||||
//affairBoard.setAffairStatus(rating.getAffairStatus());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return affairRating;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.dbnt.faisp.main.fpiMgt.affair.service;
|
|||
|
||||
import com.dbnt.faisp.config.BaseService;
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.mapper.AffairMapper;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.*;
|
||||
|
|
@ -327,4 +328,63 @@ public class AffairService extends BaseService { // 견문보고
|
|||
public List<TypeStatistics> selectArrCntList(TypeStatistics typeStatistics) {
|
||||
return affairMapper.selectArrCntList(typeStatistics);
|
||||
}
|
||||
|
||||
public AffairBoard getPrintTypeAffairBoard(AffairBoard affair, Map<String, List<CodeMgt>> codeMap) {
|
||||
affair.setWrtPart(Utils.searchCodeValue(affair.getWrtPart(), codeMap.get(affair.getWrtOrgan())));
|
||||
affair.setWrtUserGrd(Utils.searchCodeValue(affair.getWrtUserGrd(), codeMap.get("JT")));
|
||||
affair.setAffairType1(Utils.searchCodeValue(affair.getAffairType1(), codeMap.get("DC01")));
|
||||
affair.setAffairType2(Utils.searchCodeValue(affair.getAffairType2(), codeMap.get("DC02")));
|
||||
affair.setAffairType3(Utils.searchCodeValue(affair.getAffairType3(), codeMap.get("DC03")));
|
||||
affair.setAffairType4(Utils.searchCodeValue(affair.getAffairType4(), codeMap.get("DC04")));
|
||||
AffairRating rating = getAffairRating(affair, affair.getWrtOrgan());
|
||||
affair.setSectionNm(rating.getSectionNm());
|
||||
affair.setHeadNm(rating.getHeadNm());
|
||||
affair.setOrganUp(rating.getOrganUp().equals("T")?"O":"");
|
||||
affair.setLastEtc(Utils.isEmpty(rating.getSectionEtc())?rating.getHeadEtc():rating.getSectionEtc());
|
||||
affair.setReference(rating.getRatingOrgan().equals("OG027")?"경비작전과장":"정보외사과장");
|
||||
if(rating.getRatingOrgan().equals("OG001")){
|
||||
affair.setReception("해양경찰청장");
|
||||
}else if(rating.getRatingOrgan().equals("OG027")){
|
||||
affair.setReception("서해5도특별경비단장");
|
||||
}else{
|
||||
String organNm = Utils.searchCodeValue(rating.getRatingOrgan(), codeMap.get("OG"));
|
||||
if(organNm.endsWith("청")){
|
||||
affair.setReception(organNm.substring(0, organNm.length()-1)+"지방청장");
|
||||
}else{
|
||||
affair.setReception(organNm.substring(0, organNm.length()-1)+"경찰서장");
|
||||
}
|
||||
}
|
||||
switch (rating.getAffairRate()){
|
||||
case "AAR001": affair.setAffairRate1("O");break;
|
||||
case "AAR003": affair.setAffairRate2("O");break;
|
||||
case "AAR004": affair.setAffairRate3("O");break;
|
||||
case "AAR006": affair.setAffairRate4("O");break;
|
||||
case "AAR008": affair.setAffairRate5("O");break;
|
||||
}
|
||||
for(AffairFile file: affair.getFileList()){
|
||||
file.setOrigNm(file.getOrigNm()+"."+file.getFileExtn());
|
||||
}
|
||||
return affair;
|
||||
}
|
||||
public AffairRating getAffairRating(AffairBoard affairBoard, String ogCd){
|
||||
AffairRating affairRating = null;
|
||||
for(AffairRating rating: affairBoard.getRateList()){
|
||||
if(rating.getRatingOrgan().equals(ogCd)){
|
||||
affairRating = rating;
|
||||
//affairBoard.setAffairStatus(rating.getAffairStatus());
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(affairRating==null){
|
||||
for(AffairRating rating: affairBoard.getRateList()){
|
||||
if(rating.getOrganUp()==null || !rating.getOrganUp().equals("T")){
|
||||
affairRating = rating;
|
||||
//affairBoard.setAffairStatus(rating.getAffairStatus());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return affairRating;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -177,6 +177,7 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
|||
@GetMapping("/planViewModal")
|
||||
public ModelAndView planViewModal(@AuthenticationPrincipal UserInfo loginUser, PlanBoard planBoard){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairPlan/planViewModal");
|
||||
mav.addObject("modalType", planBoard.getModalType());
|
||||
planBoard = planService.selectPlanBoard(planBoard.getPlanKey());
|
||||
mav.addObject("plan", planBoard);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
|
|
@ -209,11 +210,9 @@ public class PlanController { // 첩보수집활동 > 외사경찰 견문관리
|
|||
|
||||
@GetMapping("/planBoardJson")
|
||||
public PlanBoard planBoardJson(PlanBoard planBoard, HttpSession session){
|
||||
planBoard = planService.selectPlanBoard(planBoard.getPlanKey());
|
||||
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
|
||||
planBoard.setWrtPart(Utils.searchCodeValue(planBoard.getWrtPart(), codeMap.get(planBoard.getWrtOrgan())));
|
||||
planBoard.setWrtOrgan(Utils.searchCodeValue(planBoard.getWrtOrgan(), codeMap.get("OG")));
|
||||
planBoard.setWrtUserGrd(Utils.searchCodeValue(planBoard.getWrtUserGrd(), codeMap.get("JT")));
|
||||
planBoard = planService.selectPlanBoard(planBoard.getPlanKey());
|
||||
planBoard = planService.getPrintTypePlanBoard(planBoard, codeMap);
|
||||
return planBoard;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ package com.dbnt.faisp.main.fpiMgt.affairPlan.service;
|
|||
import com.dbnt.faisp.config.BaseService;
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.mapper.PlanMapper;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanApprv;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard;
|
||||
|
|
@ -15,6 +16,7 @@ import com.dbnt.faisp.main.fpiMgt.affairPlan.repository.PlanFileRepository;
|
|||
import com.dbnt.faisp.main.fpiMgt.affairPlan.repository.PlanMainInfoRepository;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserAlarm;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -24,6 +26,7 @@ import java.io.File;
|
|||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
@Service
|
||||
|
|
@ -147,4 +150,11 @@ public class PlanService extends BaseService { // 월간계획
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public PlanBoard getPrintTypePlanBoard(PlanBoard planBoard, Map<String, List<CodeMgt>> codeMap) {
|
||||
planBoard.setWrtPart(Utils.searchCodeValue(planBoard.getWrtPart(), codeMap.get(planBoard.getWrtOrgan())));
|
||||
planBoard.setWrtOrgan(Utils.searchCodeValue(planBoard.getWrtOrgan(), codeMap.get("OG")));
|
||||
planBoard.setWrtUserGrd(Utils.searchCodeValue(planBoard.getWrtUserGrd(), codeMap.get("JT")));
|
||||
return planBoard;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
|||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.service.AffairService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.service.PlanService;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.model.*;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.service.ResultService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
|
|
@ -17,6 +19,8 @@ import org.springframework.web.servlet.ModelAndView;
|
|||
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -26,6 +30,7 @@ import java.util.Map;
|
|||
public class ResultController { // 첩보수집활동 > 외사경찰 견문관리 > 계획수립
|
||||
private final ResultService resultService;
|
||||
private final AffairService affairService;
|
||||
private final PlanService planService;
|
||||
private final AuthMgtService authMgtService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
|
||||
|
|
@ -185,16 +190,31 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관
|
|||
public ModelAndView affairListModal(@AuthenticationPrincipal UserInfo loginUser, AffairBoard affair){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/affairListModal");
|
||||
if(affair.getWrtUserSeq() == null) {
|
||||
affair.setWrtUserSeq(loginUser.getUserSeq());
|
||||
affair.setWrtUserSeq(loginUser.getUserSeq());
|
||||
}
|
||||
if(affair.getWrtOrgan() == null) {
|
||||
affair.setWrtOrgan(loginUser.getOgCd());
|
||||
affair.setWrtOrgan(loginUser.getOgCd());
|
||||
}
|
||||
affair.setFirstIndex(0);
|
||||
affair.setRowCnt(9999);
|
||||
mav.addObject("affairList", affairService.selectAffairBoardList(affair));
|
||||
return mav;
|
||||
}
|
||||
@GetMapping("/planListModal")
|
||||
public ModelAndView planListModal(@AuthenticationPrincipal UserInfo loginUser, PlanBoard plan){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/affairResult/planListModal");
|
||||
if(plan.getWrtUserSeq() == null) {
|
||||
plan.setWrtUserSeq(loginUser.getUserSeq());
|
||||
}
|
||||
if(plan.getWrtOrgan() == null) {
|
||||
plan.setWrtOrgan(loginUser.getOgCd());
|
||||
}
|
||||
plan.setFirstIndex(0);
|
||||
plan.setRowCnt(9999);
|
||||
plan.setDateSelector("planDt");
|
||||
mav.addObject("planList", planService.selectPlanBoardList(plan));
|
||||
return mav;
|
||||
}
|
||||
|
||||
@GetMapping("/resultViewModal")
|
||||
public ModelAndView resultViewModal(@AuthenticationPrincipal UserInfo loginUser, ResultBoard resultBoard){
|
||||
|
|
@ -244,26 +264,32 @@ public class ResultController { // 첩보수집활동 > 외사경찰 견문관
|
|||
public ResultBoard resultBoardJson(ResultBoard resultBoard, HttpSession session){
|
||||
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
|
||||
resultBoard = resultService.selectResultBoard(resultBoard.getResultKey());
|
||||
resultBoard.setWrtPart(Utils.searchCodeValue(resultBoard.getWrtPart(), codeMap.get(resultBoard.getWrtOrgan())));
|
||||
resultBoard.setWrtOrgan(Utils.searchCodeValue(resultBoard.getWrtOrgan(), codeMap.get("OG")));
|
||||
resultBoard.setWrtUserGrd(Utils.searchCodeValue(resultBoard.getWrtUserGrd(), codeMap.get("JT")));
|
||||
for(ClearInfo info: resultBoard.getClearInfoList()){
|
||||
info.setUseCatg(Utils.searchCodeValue(info.getUseCatg(), codeMap.get("RIC")));
|
||||
info.setUseDetail(Utils.searchCodeValue(info.getUseDetail(), codeMap.get("RID")));
|
||||
}
|
||||
for(ResultApprv apprv: resultBoard.getApprvList()){
|
||||
if(apprv.getState().equals("DST004")){
|
||||
resultBoard.setSectionApprv(apprv.getUserNm());
|
||||
}else if(apprv.getState().equals("DST006")){
|
||||
resultBoard.setHeadApprv(apprv.getUserNm());
|
||||
}
|
||||
}
|
||||
for(AffairBoard affair: resultBoard.getAffairBoardList()){
|
||||
affair.setAffairRate(Utils.searchCodeValue(affair.getAffairRate(), codeMap.get("AAR"))+(affair.getOrganUp().equals("T")?"(상보)":""));
|
||||
}
|
||||
for(ResultFile file: resultBoard.getFileList()){
|
||||
file.setOrigNm(file.getOrigNm()+"."+file.getFileExtn());
|
||||
}
|
||||
return resultBoard;
|
||||
return resultService.getPrintTypeResultBoard(resultBoard, codeMap);
|
||||
}
|
||||
|
||||
@GetMapping("/resultBundleJson")
|
||||
public Map<String, Object> resultBundleJson(ResultBoard resultBoard, HttpSession session){
|
||||
Map<String, List<CodeMgt>> codeMap = (Map<String, List<CodeMgt>>) session.getAttribute("commonCode");
|
||||
resultBoard = resultService.selectResultBoard(resultBoard.getResultKey());
|
||||
Map<String, Object> bundleMap = new HashMap<>();
|
||||
List<PlanBoard> planBoardList = new ArrayList<>();
|
||||
for(ResultToPlan resultToPlan: resultBoard.getPlanList()){
|
||||
PlanBoard planBoard = planService.selectPlanBoard(resultToPlan.getPlanKey());
|
||||
planBoard = planService.getPrintTypePlanBoard(planBoard, codeMap);
|
||||
planBoardList.add(planBoard);
|
||||
}
|
||||
List<AffairBoard> affairBoardList = new ArrayList<>();
|
||||
for(ResultToAffair resultToAffair: resultBoard.getAffairList()){
|
||||
AffairBoard affairBoard = affairService.selectAffairBoard(resultToAffair.getAffairKey());
|
||||
affairBoard = affairService.getPrintTypeAffairBoard(affairBoard, codeMap);
|
||||
affairBoardList.add(affairBoard);
|
||||
}
|
||||
bundleMap.put("planBoard", planBoardList);
|
||||
bundleMap.put("affairBoard", affairBoardList);
|
||||
bundleMap.put("resultBoard", resultService.getPrintTypeResultBoard(resultBoard, codeMap));
|
||||
return bundleMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.dbnt.faisp.main.fpiMgt.affairResult.mapper;
|
||||
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.model.ResultBoard;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
|
|
@ -14,4 +15,6 @@ public interface ResultMapper {
|
|||
Integer selectResultBoardListCnt(ResultBoard resultBoard);
|
||||
|
||||
List<AffairBoard> selectAffairToResultKey(Integer resultKey);
|
||||
|
||||
List<PlanBoard> selectPlanToResultKey(Integer resultKey);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.dbnt.faisp.main.fpiMgt.affairResult.model;
|
|||
|
||||
import com.dbnt.faisp.config.BaseModel;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairPlan.model.PlanBoard;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
|
@ -87,7 +88,11 @@ public class ResultBoard extends BaseModel {
|
|||
@Transient
|
||||
private List<ResultToAffair> affairList;
|
||||
@Transient
|
||||
private List<ResultToPlan> planList;
|
||||
@Transient
|
||||
private List<AffairBoard> affairBoardList;
|
||||
@Transient
|
||||
private List<PlanBoard> planBoardList;
|
||||
|
||||
@Transient
|
||||
private String sectionApprv;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,12 @@ package com.dbnt.faisp.main.fpiMgt.affairResult.repository;
|
|||
import com.dbnt.faisp.main.fpiMgt.affairResult.model.ResultToPlan;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface ResultToPlanRepository extends JpaRepository<ResultToPlan, ResultToPlan.ResultToPlanId> {
|
||||
|
||||
void deleteByResultKey(Integer resultKey);
|
||||
|
||||
List<ResultToPlan> findByResultKey(Integer resultKey);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,14 @@ package com.dbnt.faisp.main.fpiMgt.affairResult.service;
|
|||
|
||||
import com.dbnt.faisp.config.BaseService;
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import com.dbnt.faisp.main.codeMgt.model.CodeMgt;
|
||||
import com.dbnt.faisp.main.fpiMgt.affair.model.AffairBoard;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.mapper.ResultMapper;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.model.*;
|
||||
import com.dbnt.faisp.main.fpiMgt.affairResult.repository.*;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserAlarm;
|
||||
import com.dbnt.faisp.main.userInfo.service.UserAlarmService;
|
||||
import com.dbnt.faisp.util.Utils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -15,6 +18,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
@Service
|
||||
|
|
@ -45,7 +49,10 @@ public class ResultService extends BaseService { // 월간계획
|
|||
savedResult.setApprvList(resultApprvRepository.findByResultKey(resultKey));
|
||||
savedResult.setClearInfoList(clearInfoRepository.findByResultKey(resultKey));
|
||||
savedResult.setResultInfoList(resultInfoRepository.findByResultKey(resultKey));
|
||||
savedResult.setAffairList(resultToAffairRepository.findByResultKey(resultKey));
|
||||
savedResult.setPlanList(resultToPlanRepository.findByResultKey(resultKey));
|
||||
savedResult.setAffairBoardList(resultMapper.selectAffairToResultKey(resultKey));
|
||||
savedResult.setPlanBoardList(resultMapper.selectPlanToResultKey(resultKey));
|
||||
}
|
||||
return savedResult;
|
||||
}
|
||||
|
|
@ -68,6 +75,9 @@ public class ResultService extends BaseService { // 월간계획
|
|||
if (resultBoard.getAffairList() != null){
|
||||
saveResultToAffair(resultKey, resultBoard.getAffairList());
|
||||
}
|
||||
if (resultBoard.getPlanList() != null){
|
||||
saveResultToPlan(resultKey, resultBoard.getPlanList());
|
||||
}
|
||||
if(resultBoard.getResultState().equals("DST002")){
|
||||
//작성완료일 때 계장 결재 사용자에게 알림 발송.
|
||||
userAlarmService.sendAlarmToApprvUser(resultKey, resultBoard.getWrtOrgan(), "APC003", 31, "청산보고서에 결재대기 문서가 있습니다.");
|
||||
|
|
@ -107,6 +117,30 @@ public class ResultService extends BaseService { // 월간계획
|
|||
return apprv.getApprvSeq();
|
||||
}
|
||||
|
||||
public ResultBoard getPrintTypeResultBoard(ResultBoard resultBoard, Map<String, List<CodeMgt>> codeMap) {
|
||||
resultBoard.setWrtPart(Utils.searchCodeValue(resultBoard.getWrtPart(), codeMap.get(resultBoard.getWrtOrgan())));
|
||||
resultBoard.setWrtOrgan(Utils.searchCodeValue(resultBoard.getWrtOrgan(), codeMap.get("OG")));
|
||||
resultBoard.setWrtUserGrd(Utils.searchCodeValue(resultBoard.getWrtUserGrd(), codeMap.get("JT")));
|
||||
for(ClearInfo info: resultBoard.getClearInfoList()){
|
||||
info.setUseCatg(Utils.searchCodeValue(info.getUseCatg(), codeMap.get("RIC")));
|
||||
info.setUseDetail(Utils.searchCodeValue(info.getUseDetail(), codeMap.get("RID")));
|
||||
}
|
||||
for(ResultApprv apprv: resultBoard.getApprvList()){
|
||||
if(apprv.getState().equals("DST004")){
|
||||
resultBoard.setSectionApprv(apprv.getUserNm());
|
||||
}else if(apprv.getState().equals("DST006")){
|
||||
resultBoard.setHeadApprv(apprv.getUserNm());
|
||||
}
|
||||
}
|
||||
for(AffairBoard affair: resultBoard.getAffairBoardList()){
|
||||
affair.setAffairRate(Utils.searchCodeValue(affair.getAffairRate(), codeMap.get("AAR"))+(affair.getOrganUp().equals("T")?"(상보)":""));
|
||||
}
|
||||
for(ResultFile file: resultBoard.getFileList()){
|
||||
file.setOrigNm(file.getOrigNm()+"."+file.getFileExtn());
|
||||
}
|
||||
return resultBoard;
|
||||
}
|
||||
|
||||
private void saveUploadFiles(Integer resultKey, List<MultipartFile> multipartFileList){
|
||||
ResultFile lastFileInfo = resultFileRepository.findTopByResultKeyOrderByFileSeqDesc(resultKey).orElse(null);
|
||||
int fileSeq = lastFileInfo==null?1:(lastFileInfo.getFileSeq()+1);
|
||||
|
|
@ -163,4 +197,12 @@ public class ResultService extends BaseService { // 월간계획
|
|||
}
|
||||
resultToAffairRepository.saveAll(resultToAffairList);
|
||||
}
|
||||
|
||||
private void saveResultToPlan(Integer resultKey, List<ResultToPlan> resultToPlanList){
|
||||
resultToPlanRepository.deleteByResultKey(resultKey);
|
||||
for(ResultToPlan relation: resultToPlanList){
|
||||
relation.setResultKey(resultKey);
|
||||
}
|
||||
resultToPlanRepository.saveAll(resultToPlanList);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/operationPlanList/{type}")
|
||||
public ModelAndView operationPlanList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, OperationPlan op){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/operationPlanList");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanList");
|
||||
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/operationPlanList/all").get(0).getAccessAuth();
|
||||
|
|
@ -111,7 +111,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/operationPlanEditModal")
|
||||
public ModelAndView operationPlanEditModal(@AuthenticationPrincipal UserInfo loginUser, OperationPlan op){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/operationPlanEditModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanEditModal");
|
||||
if(op.getOpKey()!=null){
|
||||
op = intelligenceNetworkService.selectOperationPlan(op.getOpKey());
|
||||
}
|
||||
|
|
@ -137,7 +137,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/operationPlanViewModal")
|
||||
public ModelAndView operationPlanViewModal(@AuthenticationPrincipal UserInfo loginUser, OperationPlan op){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/operationPlanViewModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanViewModal");
|
||||
op = intelligenceNetworkService.selectOperationPlan(op.getOpKey());
|
||||
mav.addObject("op", op);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
|
|
@ -159,7 +159,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/intelligenceAnalyzeList/{type}")
|
||||
public ModelAndView intelligenceAnalyzeList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, IntelligenceAnalyze ia){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/analyzeList");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/analyzeList");
|
||||
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/intelligenceAnalyzeList/all").get(0).getAccessAuth();
|
||||
|
|
@ -242,7 +242,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/intelligenceAnalyzeEditModal")
|
||||
public ModelAndView intelligenceAnalyzeEditModal(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyze ia){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeEditModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/intelligenceAnalyzeEditModal");
|
||||
if(ia.getIaKey()!=null){
|
||||
ia = intelligenceNetworkService.selectIntelligenceAnalyze(ia);
|
||||
ia.setAffairList(intelligenceNetworkService.selectIntelligenceAnalyzeAffairKey(ia));
|
||||
|
|
@ -281,7 +281,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/intelligenceAnalyzeViewModal")
|
||||
public ModelAndView intelligenceAnalyzeViewModal(@AuthenticationPrincipal UserInfo loginUser, IntelligenceAnalyze ia){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/intelligenceAnalyzeViewModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/intelligenceAnalyzeViewModal");
|
||||
ia = intelligenceNetworkService.selectIntelligenceAnalyze(ia);
|
||||
ia.setApprvList(intelligenceNetworkService.selectIntelligenceAnalyzeApprv(ia));
|
||||
mav.addObject("ia", ia);
|
||||
|
|
@ -304,7 +304,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/fireExtensionReportList/{type}")
|
||||
public ModelAndView fireExtensionReportList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, FireExtensionReport fer){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportList");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/fireExtensionReportList");
|
||||
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/intelligenceNetwork/fireExtensionReportList/all").get(0).getAccessAuth();
|
||||
|
|
@ -387,7 +387,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/fireExtensionReportEditModal")
|
||||
public ModelAndView fireExtensionReportEditModal(@AuthenticationPrincipal UserInfo loginUser, FireExtensionReport fer){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportEditModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/fireExtensionReportEditModal");
|
||||
if(fer.getFerKey()!=null){
|
||||
fer = intelligenceNetworkService.selectFireExtensionReportInfo(fer);
|
||||
}
|
||||
|
|
@ -398,7 +398,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/operationPlanListModal")
|
||||
public ModelAndView operationPlanListModal(@AuthenticationPrincipal UserInfo loginUser, OperationPlan op){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/operationPlanListModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanListModal");
|
||||
op.setFirstIndex(0);
|
||||
op.setRowCnt(9999);
|
||||
mav.addObject("operationPlanList", intelligenceNetworkService.selectOperationPlanList(op));
|
||||
|
|
@ -427,7 +427,7 @@ public class IntelligenceNetworkController {
|
|||
|
||||
@GetMapping("/fireExtensionReportViewModal")
|
||||
public ModelAndView fireExtensionReportViewModal(@AuthenticationPrincipal UserInfo loginUser, FireExtensionReport fer){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/intelligenceNetwork/fireExtensionReportViewModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/fireExtensionReportViewModal");
|
||||
fer = intelligenceNetworkService.selectFireExtensionReportInfo(fer);
|
||||
mav.addObject("fer", fer);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/designationList/{type}")
|
||||
public ModelAndView designationList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, MonitoringDesignation md){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/designationList");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/designationList");
|
||||
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/monitoring/designationList/all").get(0).getAccessAuth();
|
||||
|
|
@ -115,7 +115,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/designationEditModal")
|
||||
public ModelAndView designationEditModal(@AuthenticationPrincipal UserInfo loginUser, MonitoringDesignation md){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/designationEditModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/designationEditModal");
|
||||
if(md.getMdKey()!=null){
|
||||
md = monitoringService.selectDesignation(md.getMdKey());
|
||||
}
|
||||
|
|
@ -141,7 +141,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/designationViewModal")
|
||||
public ModelAndView designationViewModal(@AuthenticationPrincipal UserInfo loginUser, MonitoringDesignation md){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/designationViewModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/designationViewModal");
|
||||
md = monitoringService.selectDesignation(md.getMdKey());
|
||||
mav.addObject("md", md);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
|
|
@ -162,7 +162,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/resultList/{type}")
|
||||
public ModelAndView resultList(@AuthenticationPrincipal UserInfo loginUser,@PathVariable("type") String type, MonitoringResult mr){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/resultList");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/resultList");
|
||||
|
||||
//메뉴권한 확인
|
||||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/monitoring/resultList/all").get(0).getAccessAuth();
|
||||
|
|
@ -247,7 +247,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/resultEditModal")
|
||||
public ModelAndView resultEditModal(@AuthenticationPrincipal UserInfo loginUser, MonitoringResult mr){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/resultEditModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/resultEditModal");
|
||||
if(mr.getMrKey()!=null){
|
||||
mr = monitoringService.selectResult(mr.getMrKey());
|
||||
}
|
||||
|
|
@ -260,7 +260,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/designationListModal")
|
||||
public ModelAndView designationListModal(@AuthenticationPrincipal UserInfo loginUser, MonitoringDesignation md){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/designationListModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/designationListModal");
|
||||
md.setFirstIndex(0);
|
||||
md.setRowCnt(9999);
|
||||
mav.addObject("designationList", monitoringService.selectDesignationList(md));
|
||||
|
|
@ -284,7 +284,7 @@ public class MonitoringController { // 첩보수집활동 > 해양외사모니
|
|||
|
||||
@GetMapping("/resultViewModal")
|
||||
public ModelAndView resultViewModal(@AuthenticationPrincipal UserInfo loginUser, MonitoringResult mr){
|
||||
ModelAndView mav = new ModelAndView("igActivities/fpiMgt/monitoring/resultViewModal");
|
||||
ModelAndView mav = new ModelAndView("igActivities/monitoring/resultViewModal");
|
||||
mr = monitoringService.selectResult(mr.getMrKey());
|
||||
mav.addObject("mr", mr);
|
||||
mav.addObject("userSeq",loginUser.getUserSeq());
|
||||
|
|
|
|||
|
|
@ -105,4 +105,14 @@
|
|||
on a.affair_key = c.affair_key
|
||||
where c.result_key = #{resultKey}
|
||||
</select>
|
||||
<select id="selectPlanToResultKey" resultType="PlanBoard" parameterType="int">
|
||||
select a.plan_key,
|
||||
a.content_title,
|
||||
a.plan_dt,
|
||||
a.plan_state
|
||||
from plan_board a
|
||||
inner join result_to_plan b
|
||||
on a.plan_key = b.plan_key
|
||||
where b.result_key = #{resultKey}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -225,32 +225,6 @@ $(document).on('click', '#fileDownBtn', function (){
|
|||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#printBtn', function (){
|
||||
// window.open(location.origin+"/affair/print?affairKey="+$(this).attr("data-affairkey"));
|
||||
$.ajax({
|
||||
url: '/affair/affairBoardJson',
|
||||
type: 'GET',
|
||||
data: {affairKey: $(this).attr('data-affairkey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "견문 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "affairBoard";
|
||||
form.json.value = JSON.stringify(data);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
function getAffairViewModal(affairKey){
|
||||
$.ajax({
|
||||
url: '/affair/affairViewModal',
|
||||
|
|
@ -102,71 +102,6 @@ $(document).on('click', '.apprvBtn', function (){
|
|||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#printBtn', function (){
|
||||
|
||||
$.ajax({
|
||||
url: '/affairPlan/planBoardJson',
|
||||
type: 'GET',
|
||||
data: {planKey: $(this).attr('data-plankey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
const plan = {};
|
||||
plan.contentTitle = data.contentTitle;
|
||||
plan.planDt = data.planDt;
|
||||
plan.wrtOrgan = data.wrtOrgan;
|
||||
plan.wrtPart = data.wrtPart;
|
||||
plan.wrtUserGrd = data.wrtUserGrd;
|
||||
plan.wrtUserNm = data.wrtUserNm;
|
||||
for(let i=0; i<data.apprvList.length; i++){
|
||||
const apprv = data.apprvList[i];
|
||||
switch (apprv.state) {
|
||||
case "DST004":
|
||||
plan.sectionApprv = apprv.userNm
|
||||
break;
|
||||
case "DST006":
|
||||
plan.headApprv = apprv.userNm
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(plan.sectionApprv === plan.headApprv){
|
||||
plan.sectionApprv = "전결"
|
||||
}
|
||||
const planInfoSummery = [];
|
||||
const planInfoDetail = [];
|
||||
for(let i=0; i<data.mainInfoList.length; i++){
|
||||
const info = data.mainInfoList[i];
|
||||
if(info.planType === "S"){
|
||||
planInfoSummery.push({planInfo: info.planInfo})
|
||||
}else if(info.planType === "D"){
|
||||
planInfoDetail.push({planInfo: info.planInfo})
|
||||
}
|
||||
}
|
||||
plan.planInfoSummery = planInfoSummery;
|
||||
plan.planInfoDetail = planInfoDetail;
|
||||
const fileList = [];
|
||||
for(let i=0; i<data.fileList.length; i++){
|
||||
fileList.push({origNm: data.fileList[i].origNm+"."+data.fileList[i].fileExtn});
|
||||
}
|
||||
plan.fileList = fileList;
|
||||
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "계획 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "planBoard";
|
||||
form.json.value = JSON.stringify(plan);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
function getPlanViewModal(planKey){
|
||||
$.ajax({
|
||||
url: '/affairPlan/planViewModal',
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
$(document).on('click', '#printBtn', function (){
|
||||
$.ajax({
|
||||
url: '/affairPlan/planBoardJson',
|
||||
type: 'GET',
|
||||
data: {planKey: $(this).attr('data-plankey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
const plan = {};
|
||||
plan.contentTitle = data.contentTitle;
|
||||
plan.planDt = data.planDt;
|
||||
plan.wrtOrgan = data.wrtOrgan;
|
||||
plan.wrtPart = data.wrtPart;
|
||||
plan.wrtUserGrd = data.wrtUserGrd;
|
||||
plan.wrtUserNm = data.wrtUserNm;
|
||||
for(let i=0; i<data.apprvList.length; i++){
|
||||
const apprv = data.apprvList[i];
|
||||
switch (apprv.state) {
|
||||
case "DST004":
|
||||
plan.sectionApprv = apprv.userNm
|
||||
break;
|
||||
case "DST006":
|
||||
plan.headApprv = apprv.userNm
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(plan.sectionApprv === plan.headApprv){
|
||||
plan.sectionApprv = "전결"
|
||||
}
|
||||
const planInfoSummery = [];
|
||||
const planInfoDetail = [];
|
||||
for(let i=0; i<data.mainInfoList.length; i++){
|
||||
const info = data.mainInfoList[i];
|
||||
if(info.planType === "S"){
|
||||
planInfoSummery.push({planInfo: info.planInfo})
|
||||
}else if(info.planType === "D"){
|
||||
planInfoDetail.push({planInfo: info.planInfo})
|
||||
}
|
||||
}
|
||||
plan.planInfoSummery = planInfoSummery;
|
||||
plan.planInfoDetail = planInfoDetail;
|
||||
const fileList = [];
|
||||
for(let i=0; i<data.fileList.length; i++){
|
||||
fileList.push({origNm: data.fileList[i].origNm+"."+data.fileList[i].fileExtn});
|
||||
}
|
||||
plan.fileList = fileList;
|
||||
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "계획 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "planBoard";
|
||||
form.json.value = JSON.stringify(plan);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
$(document).on('click', '#printBtn', function (){
|
||||
// window.open(location.origin+"/affair/print?affairKey="+$(this).attr("data-affairkey"));
|
||||
$.ajax({
|
||||
url: '/affair/affairBoardJson',
|
||||
type: 'GET',
|
||||
data: {affairKey: $(this).attr('data-affairkey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "견문 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "affairBoard";
|
||||
form.json.value = JSON.stringify(data);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('click', '#printBtn', function (){
|
||||
$.ajax({
|
||||
url: '/affairResult/resultBoardJson',
|
||||
type: 'GET',
|
||||
data: {resultKey: $(this).attr('data-resultkey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
data.planPrice = priceNumberToKorean(data.planPrice);
|
||||
data.usePrice = priceNumberToKorean(data.usePrice);
|
||||
for(let i=0; i<data.clearInfoList.length; i++){
|
||||
data.clearInfoList[i].price = "₩ "+data.clearInfoList[i].price.toLocaleString('ko-KR')
|
||||
}
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "청산 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "resultBoard";
|
||||
form.json.value = JSON.stringify(data);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
$(document).on('click', '#printBundleBtn', function (){
|
||||
$.ajax({
|
||||
url: '/affairResult/resultBundleJson',
|
||||
type: 'GET',
|
||||
data: {resultKey: $(this).attr('data-resultkey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
/*data.planPrice = priceNumberToKorean(data.planPrice);
|
||||
data.usePrice = priceNumberToKorean(data.usePrice);
|
||||
for(let i=0; i<data.clearInfoList.length; i++){
|
||||
data.clearInfoList[i].price = "₩ "+data.clearInfoList[i].price.toLocaleString('ko-KR')
|
||||
}*/
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "청산 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "bundle";
|
||||
form.json.value = JSON.stringify(data);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
function priceNumberToKorean(price){
|
||||
const koreanNumber = ['', '일','이','삼','사','오','육','칠','팔','구'];
|
||||
const tenThousandUnit = ['', '만', '억', '조'];
|
||||
const tenUnit = ['', '십', '백', '천'];
|
||||
var answer = '';
|
||||
var unit = 10000;
|
||||
var index = 0;
|
||||
var division = Math.pow(unit, index);
|
||||
|
||||
while (Math.floor(price / division) > 0) {
|
||||
const mod = Math.floor(price % (division * unit) / division);
|
||||
if(mod) {
|
||||
const modToArray = mod.toString().split('');
|
||||
const modLength = modToArray.length - 1;
|
||||
const toKorean = modToArray.reduce((a, v, i) => {
|
||||
a+= `${koreanNumber[v*1]}${tenUnit[modLength - i]}`;
|
||||
return a;
|
||||
}, '');
|
||||
answer = `${toKorean}${tenThousandUnit[index]} `+ answer;
|
||||
}
|
||||
division = Math.pow(unit, ++index);
|
||||
}
|
||||
return "壹金 "+answer+"원 整 (₩ "+price.toLocaleString('ko-KR')+")";
|
||||
}
|
||||
|
|
@ -77,9 +77,34 @@ $(document).on('click', '#affairModalBtn', function (){
|
|||
});
|
||||
}
|
||||
})
|
||||
$(document).on('click', '#planModalBtn', function (){
|
||||
const workStartDt = $("#workStartDt").val()
|
||||
const workEndDt = $("#workEndDt").val()
|
||||
if(!workStartDt||!workEndDt){
|
||||
alert("청산보고서의 사업기간을 입력해주세요.");
|
||||
}else{
|
||||
$.ajax({
|
||||
url: '/affairResult/planListModal',
|
||||
data: {
|
||||
startDate: workStartDt,
|
||||
endDate: workEndDt
|
||||
},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#planListModalContent").empty().append(html)
|
||||
$("#planListModal").modal('show');
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#getAffairBtn', function (){
|
||||
let affairListTbody = "";
|
||||
$.each($(".rowChkBox:checked"), function (idx, chkBox){
|
||||
$.each($("#affairListBody").find(".rowChkBox:checked"), function (idx, chkBox){
|
||||
const affairTr = $(chkBox).parents(".affairTr")
|
||||
affairListTbody += "<tr>";
|
||||
affairListTbody += "<input type='hidden' name='affairList["+idx+"].affairKey' value='"+chkBox.value+"'>";
|
||||
|
|
@ -95,6 +120,19 @@ $(document).on('click', '#getAffairBtn', function (){
|
|||
$("#affairListTbody").empty().append(affairListTbody);
|
||||
$("#affairListModal").modal("hide");
|
||||
})
|
||||
$(document).on('click', '#getPlanBtn', function (){
|
||||
let planListTbody = "";
|
||||
$.each($("#planListBody").find(".rowChkBox:checked"), function (idx, chkBox){
|
||||
const planTr = $(chkBox).parents(".planTr")
|
||||
planListTbody += "<tr>";
|
||||
planListTbody += "<input type='hidden' name='planList["+idx+"].planKey' value='"+chkBox.value+"'>";
|
||||
planListTbody += "<td>"+planTr.find(".planDt")[0].innerText+"</td>";
|
||||
planListTbody += "<td>"+planTr.find(".title")[0].innerText+"</td>";
|
||||
planListTbody += "</tr>";
|
||||
})
|
||||
$("#planListTbody").empty().append(planListTbody);
|
||||
$("#planListModal").modal("hide");
|
||||
})
|
||||
|
||||
$(document).on('click', '.rowDeleteBtn', function (){
|
||||
const isClearInfo = $(this).parents("#clearInfoRow").length !== 0;
|
||||
|
|
@ -195,62 +233,48 @@ $(document).on('click', '.apprvBtn', function (){
|
|||
})
|
||||
}
|
||||
})
|
||||
|
||||
$(document).on('click', '#printBtn', function (){
|
||||
$.ajax({
|
||||
url: '/affairResult/resultBoardJson',
|
||||
type: 'GET',
|
||||
data: {resultKey: $(this).attr('data-resultkey')},
|
||||
dataType:"json",
|
||||
success: function(data){
|
||||
data.planPrice = priceNumberToKorean(data.planPrice);
|
||||
data.usePrice = priceNumberToKorean(data.usePrice);
|
||||
for(let i=0; i<data.clearInfoList.length; i++){
|
||||
data.clearInfoList[i].price = "₩ "+data.clearInfoList[i].price.toLocaleString('ko-KR')
|
||||
$(document).on('click', '.planTr', function (event){
|
||||
const target = event.target;
|
||||
if(!(target.className === "rowChkBox")){
|
||||
$.ajax({
|
||||
url: '/affairPlan/planViewModal',
|
||||
data: {
|
||||
planKey: $(this).find(".planKey").val(),
|
||||
modalType: "viewOnly"
|
||||
},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
success: function(html){
|
||||
$("#relationReportContent").empty().append(html)
|
||||
$("#relationReportModal").modal('show');
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
var url = $("#printUrl").attr("data-printurl")+"/singlePrint.jsp";
|
||||
var title = "청산 보고서 인쇄";
|
||||
var status = "width=900px,height=800px,scrollbars=yes";
|
||||
window.open("", title, status);
|
||||
const form = $("#printForm")[0];
|
||||
form.target = title;
|
||||
form.action = url;
|
||||
form.crfName.value = "resultBoard";
|
||||
form.json.value = JSON.stringify(data);
|
||||
form.method = "post";
|
||||
form.submit();
|
||||
},
|
||||
error:function(e){
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
function priceNumberToKorean(price){
|
||||
const koreanNumber = ['', '일','이','삼','사','오','육','칠','팔','구'];
|
||||
const tenThousandUnit = ['', '만', '억', '조'];
|
||||
const tenUnit = ['', '십', '백', '천'];
|
||||
var answer = '';
|
||||
var unit = 10000;
|
||||
var index = 0;
|
||||
var division = Math.pow(unit, index);
|
||||
|
||||
while (Math.floor(price / division) > 0) {
|
||||
const mod = Math.floor(price % (division * unit) / division);
|
||||
if(mod) {
|
||||
const modToArray = mod.toString().split('');
|
||||
const modLength = modToArray.length - 1;
|
||||
const toKorean = modToArray.reduce((a, v, i) => {
|
||||
a+= `${koreanNumber[v*1]}${tenUnit[modLength - i]}`;
|
||||
return a;
|
||||
}, '');
|
||||
answer = `${toKorean}${tenThousandUnit[index]} `+ answer;
|
||||
}
|
||||
division = Math.pow(unit, ++index);
|
||||
});
|
||||
}
|
||||
return "壹金 "+answer+"원 整 (₩ "+price.toLocaleString('ko-KR')+")";
|
||||
}
|
||||
|
||||
})
|
||||
$(document).on('click', '.affairTr', function (event){
|
||||
const target = event.target;
|
||||
if(!(target.className === "rowChkBox")){
|
||||
$.ajax({
|
||||
url: '/affair/affairViewModal',
|
||||
data: {
|
||||
affairKey: $(this).find(".affairKey").val(),
|
||||
modalType: "viewOnly"
|
||||
},
|
||||
type: 'GET',
|
||||
dataType: "html",
|
||||
success: function (html) {
|
||||
$("#relationReportContent").empty().append(html)
|
||||
$("#relationReportModal").modal('show');
|
||||
},
|
||||
error: function (e) {
|
||||
ajaxErrorAction(e);
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
function getResultViewModal(resultKey){
|
||||
$.ajax({
|
||||
url: '/affairResult/resultViewModal',
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{layout/layout}">
|
||||
<th:block layout:fragment="script">
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/affair/affairMgt.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/affairMgt.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/print.js}"></script>
|
||||
</th:block>
|
||||
<div layout:fragment="content">
|
||||
<main>
|
||||
|
|
|
|||
|
|
@ -332,23 +332,25 @@
|
|||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<th:block th:if="${affair.affairStatus eq 'DST006'}">
|
||||
<button type="button" class="btn btn-secondary" id="printBtn" th:data-affairkey="${affair.affairKey}">인쇄</button>
|
||||
</th:block>
|
||||
<th:block th:if="${userOrgan eq 'OG001' and accessAuth eq 'ACC003'}">
|
||||
<!--본청 관리자 상시 수정 허용-->
|
||||
<button type="button" class="btn btn-warning" id="modifyRatingViewBtn">결재정보수정</button>
|
||||
<button type="button" class="btn btn-warning" id="editAffairBtn">본문 수정</button>
|
||||
</th:block>
|
||||
<th:block th:unless="${userOrgan eq 'OG001' and accessAuth eq 'ACC003'}">
|
||||
<!--본청 관리자가 아닌경우-->
|
||||
<th:block th:unless="${affair.affairStatus eq 'DST004' or affair.affairStatus eq 'DST006'}">
|
||||
<!--승인 상태가 아닐 때-->
|
||||
<th:block th:if="${userSeq eq affair.wrtUserSeq}">
|
||||
<!--작성자일 경우 수정 허용-->
|
||||
<button type="button" class="btn btn-warning" id="editAffairBtn">본문 수정</button>
|
||||
<th:block th:if="${modalType ne 'viewOnly'}">
|
||||
<div class="modal-footer bg-light">
|
||||
<th:block th:if="${affair.affairStatus eq 'DST006'}">
|
||||
<button type="button" class="btn btn-secondary" id="printBtn" th:data-affairkey="${affair.affairKey}">인쇄</button>
|
||||
</th:block>
|
||||
<th:block th:if="${userOrgan eq 'OG001' and accessAuth eq 'ACC003'}">
|
||||
<!--본청 관리자 상시 수정 허용-->
|
||||
<button type="button" class="btn btn-warning" id="modifyRatingViewBtn">결재정보수정</button>
|
||||
<button type="button" class="btn btn-warning" id="editAffairBtn">본문 수정</button>
|
||||
</th:block>
|
||||
<th:block th:unless="${userOrgan eq 'OG001' and accessAuth eq 'ACC003'}">
|
||||
<!--본청 관리자가 아닌경우-->
|
||||
<th:block th:unless="${affair.affairStatus eq 'DST004' or affair.affairStatus eq 'DST006'}">
|
||||
<!--승인 상태가 아닐 때-->
|
||||
<th:block th:if="${userSeq eq affair.wrtUserSeq}">
|
||||
<!--작성자일 경우 수정 허용-->
|
||||
<button type="button" class="btn btn-warning" id="editAffairBtn">본문 수정</button>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{layout/layout}">
|
||||
<th:block layout:fragment="script">
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/plan/planMgt.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/planMgt.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/print.js}"></script>
|
||||
</th:block>
|
||||
<div layout:fragment="content">
|
||||
<main>
|
||||
|
|
|
|||
|
|
@ -163,6 +163,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<th:block th:if="${modalType ne 'viewOnly'}">
|
||||
<div class="modal-footer bg-light">
|
||||
<th:block th:if="${plan.planState eq 'DST006'}">
|
||||
<button type="button" class="btn btn-secondary" id="printBtn" th:data-plankey="${plan.planKey}">인쇄</button>
|
||||
|
|
@ -173,4 +174,5 @@
|
|||
</th:block>
|
||||
</th:block>
|
||||
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
|
||||
</div>
|
||||
</div>
|
||||
</th:block>
|
||||
|
|
@ -23,6 +23,7 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
<tr class="affairTr" th:each="affair:${affairList}">
|
||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||
<td><input type="checkbox" class="rowChkBox" th:value="${affair.affairKey}"></td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('DC01')}">
|
||||
<td th:if="${affair.affairType1 eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||
<div class="modal-header bg-dark">
|
||||
<h5 class="modal-title text-white" id="affairListModalLabel">계획목록</h5>
|
||||
<button type="button" class="btn-close f-invert" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body" id="planListBody">
|
||||
<table class="table table-sm table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" class="allChk"></th>
|
||||
<th>제목</th>
|
||||
<th>시행일자</th>
|
||||
<th>작성일</th>
|
||||
<th>첨부파일</th>
|
||||
<th>상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="planTr" th:each="plan:${planList}">
|
||||
<input type="hidden" class="planKey" th:value="${plan.planKey}">
|
||||
<td><input type="checkbox" class="rowChkBox" th:value="${plan.planKey}"></td>
|
||||
<td class="title" th:text="${plan.contentTitle}"></td>
|
||||
<td class="planDt" th:text="${#temporals.format(plan.planDt, 'yyyy-MM-dd')}"></td>
|
||||
<td class="wrtDt" th:text="${#temporals.format(plan.wrtDt, 'yyyy-MM-dd HH:mm')}"></td>
|
||||
<td th:text="${plan.fileCnt eq null?'파일 없음':#strings.concat(plan.fileCnt,' 건')}"></td>
|
||||
<td>
|
||||
<th:block th:each="code:${session.commonCode.get('DST')}">
|
||||
<th:block th:if="${plan.planState eq code.itemCd}" th:text="${code.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer bg-light">
|
||||
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>-->
|
||||
<button type="button" class="btn btn-primary" id="getPlanBtn">불러오기</button>
|
||||
</div>
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
<button class="nav-link" id="resultReportTab" data-bs-toggle="tab" data-bs-target="#resultReportTabPanel" type="button" role="tab" aria-controls="resultReportTabPanel" aria-selected="false">결과보고서</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="affairListTab" data-bs-toggle="tab" data-bs-target="#affairListTabPanel" type="button" role="tab" aria-controls="affairListTabPanel" aria-selected="false">견문목록&증빙자료</button>
|
||||
<button class="nav-link" id="reportListTab" data-bs-toggle="tab" data-bs-target="#reportListTabPanel" type="button" role="tab" aria-controls="reportListTabPanel" aria-selected="false">연관보고서&증빙자료</button>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content bg-white border border-top-0" id="configInfo">
|
||||
|
|
@ -242,7 +242,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane fade p-2" id="affairListTabPanel" role="tabpanel" aria-labelledby="affairListTab" tabindex="0">
|
||||
<div class="tab-pane fade p-2" id="reportListTabPanel" role="tabpanel" aria-labelledby="reportListTab" tabindex="0">
|
||||
<div class="row mb-1">
|
||||
<label class="col-sm-2 col-form-label col-form-label-sm text-center">활동기간</label>
|
||||
<div class="col-sm-4">
|
||||
|
|
@ -251,13 +251,58 @@
|
|||
<input type="text" class="form-control form-control-sm workEndDtCopy" th:value="${#temporals.format(result.workEndDt, 'yyyy-MM-dd')}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-outline-primary" id="affairModalBtn" value="불러오기">
|
||||
</div>
|
||||
<div class="row mb-1 justify-content-center">
|
||||
<div class="col-12">
|
||||
<div class="row">
|
||||
<div class="col-auto align-middle">
|
||||
<h5 class="my-1"><i class="bi bi-square-fill"></i>계획목록</h5>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-outline-primary" id="planModalBtn" value="불러오기">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12" id="planListDiv">
|
||||
<table class="table table-sm table-hover">
|
||||
<colgroup>
|
||||
<col style="width: 15%">
|
||||
<col style="width: 85%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>시행일자</th>
|
||||
<th>제목</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="planListTbody">
|
||||
<tr class="planTr" th:each="plan:${result.planBoardList}">
|
||||
<input type="hidden" class="planKey" th:value="${plan.planKey}">
|
||||
<td th:text="${#temporals.format(plan.planDt, 'yyyy-MM-dd')}"></td>
|
||||
<td th:text="${plan.contentTitle}"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1 justify-content-center">
|
||||
<div class="col-11" id="affairListDiv">
|
||||
<div class="col-12">
|
||||
<div class="row">
|
||||
<div class="col-auto align-middle">
|
||||
<h5 class="my-1"><i class="bi bi-square-fill"></i>견문목록</h5>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="button" class="btn btn-sm btn-outline-primary" id="affairModalBtn" value="불러오기">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12" id="affairListDiv">
|
||||
<table class="table table-sm table-hover">
|
||||
<colgroup>
|
||||
<col style="width: 15%">
|
||||
<col style="width: 70%">
|
||||
<col style="width: 15%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>작성일자</th>
|
||||
|
|
@ -266,7 +311,7 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody id="affairListTbody">
|
||||
<tr class="affairViewTr" th:each="affair:${result.affairBoardList}">
|
||||
<tr class="affairTr" th:each="affair:${result.affairBoardList}">
|
||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd')}"></td>
|
||||
<td th:text="${affair.title}"></td>
|
||||
|
|
@ -280,7 +325,7 @@
|
|||
</div>
|
||||
<div class="row mb-1">
|
||||
<label for="fileInputer" class="col-sm-2 col-form-label col-form-label-sm text-center">증빙자료</label>
|
||||
<div class="col-sm-9" style="min-height: 70px;">
|
||||
<div class="col-sm-10" style="min-height: 70px;">
|
||||
<div class="w-100 h-100 border border-info rounded text-center" id="uploadDiv">
|
||||
<th:block th:if="${#arrays.isEmpty(result.fileList)}">
|
||||
<br>파일을 업로드 해주세요.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{layout/layout}">
|
||||
<th:block layout:fragment="script">
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/result/resultMgt.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/resultMgt.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/print.js}"></script>
|
||||
</th:block>
|
||||
<div layout:fragment="content">
|
||||
<main>
|
||||
|
|
@ -191,6 +192,13 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="planListModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="planListModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||
<div class="modal-content" id="planListModalContent">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="resultViewModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="resultViewModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||
<div class="modal-content" id="resultViewBody">
|
||||
|
|
@ -198,6 +206,14 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="relationReportModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="relationReportModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||
<div class="modal-content" id="relationReportContent">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-none">
|
||||
<form id="printForm">
|
||||
<input type="hidden" name="crfName">
|
||||
|
|
|
|||
|
|
@ -153,25 +153,63 @@
|
|||
<div class="tab-pane fade p-2" id="affairListViewTabPanel" role="tabpanel" aria-labelledby="affairListViewTab" tabindex="0">
|
||||
<div class="row">
|
||||
<div class="col-8">
|
||||
<table class="table table-sm table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>작성일자</th>
|
||||
<th>제목</th>
|
||||
<th>활용</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="affairViewTr" th:each="affair:${result.affairBoardList}">
|
||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd')}"></td>
|
||||
<td th:text="${affair.title}"></td>
|
||||
<th:block th:each="ratingCode:${session.commonCode.get('AAR')}">
|
||||
<td class="affairRate" th:if="${ratingCode.itemCd eq affair.affairRate}" th:text="${#strings.concat(ratingCode.itemValue, (affair.organUp eq 'T'?'(상보)':''))}"></td>
|
||||
</th:block>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h5 class="my-1"><i class="bi bi-square-fill"></i>계획목록</h5>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<table class="table table-sm table-hover">
|
||||
<colgroup>
|
||||
<col style="width: 15%">
|
||||
<col style="width: 85%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>시행일자</th>
|
||||
<th>제목</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="planTr" th:each="plan:${result.planBoardList}">
|
||||
<input type="hidden" class="planKey" th:value="${plan.planKey}">
|
||||
<td th:text="${#temporals.format(plan.planDt, 'yyyy-MM-dd')}"></td>
|
||||
<td th:text="${plan.contentTitle}"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<h5 class="my-1"><i class="bi bi-square-fill"></i>견문목록</h5>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<table class="table table-sm table-hover">
|
||||
<colgroup>
|
||||
<col style="width: 15%">
|
||||
<col style="width: 70%">
|
||||
<col style="width: 15%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>작성일자</th>
|
||||
<th>제목</th>
|
||||
<th>활용</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="affairTr" th:each="affair:${result.affairBoardList}">
|
||||
<input type="hidden" class="affairKey" th:value="${affair.affairKey}">
|
||||
<td th:text="${#temporals.format(affair.wrtDt, 'yyyy-MM-dd')}"></td>
|
||||
<td th:text="${affair.title}"></td>
|
||||
<td>
|
||||
<th:block th:each="ratingCode:${session.commonCode.get('AAR')}">
|
||||
<th:block class="affairRate" th:if="${ratingCode.itemCd eq affair.affairRate}" th:text="${#strings.concat(ratingCode.itemValue, (affair.organUp eq 'T'?'(상보)':''))}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<table class="table">
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{layout/layout}">
|
||||
<th:block layout:fragment="script">
|
||||
<script type="text/javascript" th:src="@{/js/igActivities/fpiMgt/sri/sri.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/faRpt/sri.js}"></script>
|
||||
<script type="text/javascript" th:src="@{/js/modal/userModal.js}"></script>
|
||||
</th:block>
|
||||
<div layout:fragment="content">
|
||||
|
|
|
|||
Loading…
Reference in New Issue