프로젝트 목록 리스트
This commit is contained in:
parent
aeb96802f9
commit
f33fd48eef
@ -0,0 +1,116 @@
|
|||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* @packageName : io.company.localhost.controller.api
|
||||||
|
* @fileName : ProjectListController.java
|
||||||
|
* @author : 박지윤
|
||||||
|
* @date : 25.02.10
|
||||||
|
* @description : 프로젝트 목록
|
||||||
|
*
|
||||||
|
* ===========================================================
|
||||||
|
* DATE AUTHOR NOTE
|
||||||
|
* -----------------------------------------------------------
|
||||||
|
* 25.02.10 박지윤 최초 생성
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
|
||||||
|
package io.company.localhost.controller.api;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PatchMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import io.company.localhost.common.annotation.ParameterCheck;
|
||||||
|
import io.company.localhost.common.annotation.ReqMap;
|
||||||
|
import io.company.localhost.common.dto.ApiResponse;
|
||||||
|
import io.company.localhost.common.dto.MapDto;
|
||||||
|
import io.company.localhost.service.NetprojctService;
|
||||||
|
import io.company.localhost.service.commoncodService;
|
||||||
|
import io.company.localhost.utils.AuthUtil;
|
||||||
|
import io.company.localhost.vo.MemberVo;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/api/project")
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
@Slf4j
|
||||||
|
public class ProjectController {
|
||||||
|
|
||||||
|
private final commoncodService commoncodservice;
|
||||||
|
private final NetprojctService netprojctService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 연도 조회
|
||||||
|
*
|
||||||
|
* @return ApiResponse<List<MapDto>>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ParameterCheck
|
||||||
|
@GetMapping("/yearCategory")
|
||||||
|
public ApiResponse<List<MapDto>> getYearCategories() {
|
||||||
|
List<MapDto> yearCategory = commoncodservice.getYearCategories();
|
||||||
|
return ApiResponse.ok(yearCategory);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 목록 조회
|
||||||
|
*
|
||||||
|
* * @return ApiResponse<List<MapDto>>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ParameterCheck
|
||||||
|
@GetMapping("/select")
|
||||||
|
public ApiResponse<MapDto> selectProject() {
|
||||||
|
List<MapDto> projectList = netprojctService.selectProject();
|
||||||
|
|
||||||
|
MapDto outData = new MapDto();
|
||||||
|
outData.put("projectList", projectList);
|
||||||
|
|
||||||
|
return ApiResponse.ok(outData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 등록
|
||||||
|
*
|
||||||
|
* @param map
|
||||||
|
* @return ApiResponse<Integer>
|
||||||
|
*/
|
||||||
|
@PostMapping("/insert")
|
||||||
|
public ApiResponse<Integer> insertProject(@ReqMap MapDto map) {
|
||||||
|
int project = netprojctService.insertProject(map);
|
||||||
|
return ApiResponse.ok(project);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 비밀번호 재설정
|
||||||
|
*
|
||||||
|
* @param map
|
||||||
|
* @return ApiResponse<Boolean>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@PatchMapping("/updateYon")
|
||||||
|
public ApiResponse<Boolean> updateProjectMember(@ReqMap MapDto map) {
|
||||||
|
boolean isMember = netprojctService.updateProjectMember(map);
|
||||||
|
return ApiResponse.ok(isMember);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 멤버리스트 조회
|
||||||
|
*
|
||||||
|
* * @return ApiResponse<List<MapDto>>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@ParameterCheck
|
||||||
|
@GetMapping("/members/{projctSeq}")
|
||||||
|
public ApiResponse<List<MapDto>> getProjectMembers(@PathVariable int projctSeq) {
|
||||||
|
|
||||||
|
return ApiResponse.ok(netprojctService.getProjectMembers(projctSeq));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,51 +0,0 @@
|
|||||||
/************************************************************
|
|
||||||
*
|
|
||||||
* @packageName : io.company.localhost.controller.api
|
|
||||||
* @fileName : ProjectListController.java
|
|
||||||
* @author : 박지윤
|
|
||||||
* @date : 25.02.10
|
|
||||||
* @description : 프로젝트 목록
|
|
||||||
*
|
|
||||||
* ===========================================================
|
|
||||||
* DATE AUTHOR NOTE
|
|
||||||
* -----------------------------------------------------------
|
|
||||||
* 25.02.10 박지윤 최초 생성
|
|
||||||
*
|
|
||||||
*************************************************************/
|
|
||||||
|
|
||||||
package io.company.localhost.controller.api;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import io.company.localhost.common.annotation.ParameterCheck;
|
|
||||||
import io.company.localhost.common.dto.ApiResponse;
|
|
||||||
import io.company.localhost.common.dto.MapDto;
|
|
||||||
import io.company.localhost.service.commoncodService;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/api/project")
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Slf4j
|
|
||||||
public class ProjectListController {
|
|
||||||
|
|
||||||
private final commoncodService commoncodservice;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 프로젝트 년도 조회
|
|
||||||
*
|
|
||||||
* @return ApiResponse<List<MapDto>>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
@ParameterCheck
|
|
||||||
@GetMapping("/yearCategory")
|
|
||||||
public ApiResponse<List<MapDto>> getYearCategories() {
|
|
||||||
List<MapDto> yearCategory = commoncodservice.getYearCategories();
|
|
||||||
return ApiResponse.ok(yearCategory);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* @packageName : io.company.localhost.mapper
|
||||||
|
* @fileName : NetprojctMapper.java
|
||||||
|
* @author : 박지윤
|
||||||
|
* @date : 24.02.13
|
||||||
|
* @description :
|
||||||
|
*
|
||||||
|
* ===========================================================
|
||||||
|
* DATE AUTHOR NOTE
|
||||||
|
* -----------------------------------------------------------
|
||||||
|
* 24.02.13 박지윤 최초 생성
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
package io.company.localhost.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import io.company.localhost.common.dto.MapDto;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface NetprojctMapper {
|
||||||
|
|
||||||
|
List<MapDto> selectProject();
|
||||||
|
|
||||||
|
int insertProject(MapDto map);
|
||||||
|
|
||||||
|
int insertProjectMember(Integer projctSeq);
|
||||||
|
|
||||||
|
int updateProjectMember(MapDto map);
|
||||||
|
|
||||||
|
List<MapDto> selectProjectMembers(int projctSeq);
|
||||||
|
}
|
||||||
@ -0,0 +1,92 @@
|
|||||||
|
/************************************************************
|
||||||
|
*
|
||||||
|
* @packageName : io.company.localhost.NetprojctService
|
||||||
|
* @fileName : NetprojctService.java
|
||||||
|
* @author : 박지윤
|
||||||
|
* @date : 25.02.13
|
||||||
|
* @description :
|
||||||
|
*
|
||||||
|
* ===========================================================
|
||||||
|
* DATE AUTHOR NOTE
|
||||||
|
* -----------------------------------------------------------
|
||||||
|
* 25.02.13 박지윤 최초 생성
|
||||||
|
*
|
||||||
|
*************************************************************/
|
||||||
|
package io.company.localhost.service;
|
||||||
|
|
||||||
|
import java.math.BigInteger;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import io.company.localhost.common.dto.MapDto;
|
||||||
|
import io.company.localhost.mapper.NetprojctMapper;
|
||||||
|
import io.company.localhost.mapper.commoncodMapper;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class NetprojctService {
|
||||||
|
private final commoncodMapper commoncodMapper;
|
||||||
|
private final NetprojctMapper netprojctMapper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 목록 조회
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<MapDto> selectProject() {
|
||||||
|
return netprojctMapper.selectProject();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 등록
|
||||||
|
*
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int insertProject(MapDto map) {
|
||||||
|
map.put("projctCdt", LocalDateTime.now());
|
||||||
|
int result = netprojctMapper.insertProject(map);
|
||||||
|
|
||||||
|
String color = map.getString("projctCol");
|
||||||
|
|
||||||
|
MapDto colorMap = new MapDto();
|
||||||
|
colorMap.put("color", color);
|
||||||
|
colorMap.put("type", "YNP");
|
||||||
|
|
||||||
|
commoncodMapper.updateColorYon(colorMap);
|
||||||
|
|
||||||
|
Integer projctSeq = map.getInt("PROJCTSEQ");
|
||||||
|
|
||||||
|
netprojctMapper.insertProjectMember(projctSeq);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 참여, 미참여 member
|
||||||
|
*
|
||||||
|
* @param map
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean updateProjectMember(MapDto map) {
|
||||||
|
return netprojctMapper.updateProjectMember(map) > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 프로젝트 멤버리스트 조회
|
||||||
|
*
|
||||||
|
* @param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<MapDto> getProjectMembers(int projctSeq) {
|
||||||
|
return netprojctMapper.selectProjectMembers(projctSeq);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
67
src/main/resources/mapper/netprojctMapper.xml
Normal file
67
src/main/resources/mapper/netprojctMapper.xml
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="io.company.localhost.mapper.NetprojctMapper">
|
||||||
|
|
||||||
|
<!-- 프로젝트 목록 조회 -->
|
||||||
|
<select id="selectProject" parameterType="map" resultType="io.company.localhost.common.dto.MapDto">
|
||||||
|
SELECT *
|
||||||
|
FROM netprojct
|
||||||
|
ORDER BY PROJCTSEQ DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 프로젝트 등록 -->
|
||||||
|
<insert id="insertProject" useGeneratedKeys="true" keyProperty="PROJCTSEQ">
|
||||||
|
INSERT INTO netprojct (
|
||||||
|
PROJCTNAM,
|
||||||
|
PROJCTCOL,
|
||||||
|
PROJCTSTR,
|
||||||
|
PROJCTEND,
|
||||||
|
PROJCTDES,
|
||||||
|
PROJCTARR,
|
||||||
|
PROJCTDTL,
|
||||||
|
PROJCTZIP,
|
||||||
|
PROJCTCDT,
|
||||||
|
PROJCTCMB
|
||||||
|
) VALUES (
|
||||||
|
#{projctNam},
|
||||||
|
#{projctCol},
|
||||||
|
#{projctStr},
|
||||||
|
#{projctEnd},
|
||||||
|
#{projctDes},
|
||||||
|
#{projctAdd},
|
||||||
|
#{projctDtl},
|
||||||
|
#{projctZip},
|
||||||
|
#{projctCdt},
|
||||||
|
#{projctCmb}
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!-- 프로젝트 등록 후 모든 사용자 자동 참여 -->
|
||||||
|
<insert id="insertProjectMember">
|
||||||
|
INSERT INTO promember (PROJCTSEQ, MEMBERSEQ, PROJCTYON)
|
||||||
|
SELECT #{projctSeq}, MEMBERSEQ, '1' FROM netmember;
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<!-- 프로젝트 참여 미참여 -->
|
||||||
|
<update id="updateProjectMember">
|
||||||
|
UPDATE promember
|
||||||
|
SET PROJCTYON = #{projctYon}
|
||||||
|
WHERE PROJCTSEQ = #{projctSeq}
|
||||||
|
AND MEMBERSEQ = #{memberSeq}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 프로젝트 멤버 조회 -->
|
||||||
|
<select id="selectProjectMembers" resultType="io.company.localhost.common.dto.MapDto">
|
||||||
|
SELECT pm.PROJCTSEQ,
|
||||||
|
pm.MEMBERSEQ,
|
||||||
|
pm.PROJCTYON,
|
||||||
|
nm.MEMBERNAM,
|
||||||
|
nm.MEMBERPRF,
|
||||||
|
nm.MEMBERCOL as usercolor
|
||||||
|
FROM promember pm
|
||||||
|
JOIN netmember nm ON pm.MEMBERSEQ = nm.MEMBERSEQ
|
||||||
|
WHERE pm.PROJCTSEQ = #{projctSeq}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue
Block a user