본문 바로가기

_Programming/Spring

Spring.TeamProject (Cpos)

-------------------------------------DB-------------------------------------

-------------------------------------UI-------------------------------------

-------------------------------------명명-------------------------------------

<Member>

1. jsp화면단

회원가입 nav.jsp <a href="/member/join"> --> @GetMapping

                                         join.jsp <form action="/member/join" method="post"> -->@PostMapping

로그인 nav.jsp <a href="/member/login"> --> @GetMapping

                                        login.jsp <form action="/member/login" method="post"> -->@PostMapping

아이디중복체크 join.jsp <input id="checkId"><span id="id">

                                               footer.jsp ajax의 url : "/member/dupleIdCheck" --> @GetMapping

멤버리스트 nav.jsp <a href="/member/list"> --> @GetMapping

멤버탈퇴  list.jsp <a href="/member/resign"> -->@GetMapping

로그아웃 nav.jsp <a href="/member/logout"> -->@GetMapping

 

2. MemberCtrl.java

회원가입 join : @GetMapping @PostMapping("/join") 에서 msv.regist(mvo)호출

아이디중복체크 checkId : @GetMapping("/dupleIdCheck") 에서 msv.checkId(id)호출

로그인 login : @GetMapping @PostMapping("/login")에서 msv.login(mvo)호출

멤버리스트 list : @GetMapping("/list")에서 msv.getList(cri)와 msv.getTotalCount 호출

멤버탈퇴 resign : @GetMapping("/resign")에서 msv.resign(id)호출

로그아웃 logout : @GetMapping("/logout")에서 session초기화

 

3. MemberService.java

회원가입 public int regist (Member mvo)

아이디중복체크 public int checkId(String id)

로그인 public MemberVO login(Stirng id)

멤버리스트 public List<MemberVO> getList(Criterion cri)

멤버탈퇴 public int resign(String id)

멤버총명수 public int getTotalCount(Criterion cri)

 

4. MemberServiceImpl.java

회원가입 public int regist (MemberVO mvo)

아이디중복체크 public int checkId(String id)

로그인 public MemberVO login(Stirng id)

멤버리스트 public List<MemberVO> getList(Criterion cri)

멤버탈퇴 public int resign(String id)

멤버총명수 public int getTotalCount(Criterion cri)

 

5. DAO

회원가입 public int insertMember(MemberVO mvo)

아이디중복체크 public int selectId(String id)

로그인 public MemberVO selectMember(String id)

멤버리스트 public List<MemberVO> selectList(Criterion cri)

멤버탈퇴 public deleteMember(String id)

멤버총명수 public int selectTotalCount(Criterion cri)

 

6. DAOImpl

회원가입 public int insertMember(MemberVO mvo) --> "join"

아이디중복체크 public selectId(Stirng id) --> "checkid"

로그인 public MemberVO selectMember(String id) --> login"

멤버리스트 public List<MemberVO> selectList(Criterion cri) --> "mlist"

멤버탈퇴 public int deleteMember(String id) --> "resign"

멤버총명수 public int getTotalCount(Criterion cri) --> "totalCount"

 

7. Mapper

회원가입 <insert id="join" parameterType="MemberVO"></insert>

아이디중복체크 <select id="checkid" parameterType="java.lang.String" resultType="java.lang.Integer"></select>

로그인 <select id="login" parameterType="MemberVO" resultType="MemberVO"></select>

멤버리스트 <select id="mlist" parameterType="Criterion" resultType="MemberVO">

멤버탈퇴 <delete id="resign" parameterType="java.lang.String"></delete>

멤버총명수 <select id="totalCount" parameterType="Criterion" resultType="java.lang.Integer">

 

<Product>

Head(가맹본사) : 상품등록, 수정, 삭제

로그인화면에서 본사계정으로 로그인시

 

 

1. Head(jsp)

상품등록수정삭제메뉴+리스트 list.jsp  <form action="/head/list?"> --> @GetMapping

상품등록 list.jsp <a href="/head/regist"> --> @GetMapping

                                          regist.jsp <form action="/head/regist" method="post"> --> @PostMapping

  바코드중복체크 dupleBacodeCheck <input id="checkBacode"><span id="bacode">

footer.jsp ajax의 url : "/head/dupleBacodeCheck"

상품명중복체크 duplePnameCheck <input id="checkPname"><span id="pname">

footer.jsp ajax의 url : "/head/duplePnameCheck"

상품수정 hlist.jsp <a href="/head/modify"> --> @GetMapping

                                           modify.jsp <form action="/head/modify" method="post"> --> @PostMapping

상품삭제 remove.jsp <form action="/head/remove" method="post"> --> @PostMapping

 

 

2. HeadCtrl.java

***********************************public largeCate() public mediumCate() ?????*******************************

 

상품리스트 list : @GetMapping("/list")와 hsv.getTotalCount() 와 hsv.getLargeCate() 와 hsv.getMediumCate() 호출

상품등록 regist : @GetMapping @PostMapping hsv.regist()와 hsv.getLargeCate() 와 hsv.getMediumCate() 호출

바코드중복체크 checkBacode : @GetMapping("/dupleBacodeCheck") 에서 hsv.checkBacode() 호출

상품명중복체크 checkPname : @GetMapping("/duplePnameCheck") 에서 hsv.checkPname() 호출

상품수정 modify : @GetMapping @PostMapping hsv.modify()와 getLargeCate()와 getMediumCate() 호출

상품삭제 remove : @PostMapping hsv.remove()와 getLargeCate()와 getMediumCate() 호출

 

3. HeadService.java

 

상품등록 public int regist (Inventory ivo)

바코드중복체크 public int checkBacode(int bacode)

상품명중복체크 public int checkPname(String pname)

상품리스트 public List<InventoryVO> getHeadList(Criterion cri)

대분류 public getLargeCateCriterion cri()

소분류 public getMediumCate(Criterion cri)

상품수정 public int modify(ProductVO pvo)

상품삭제 public int remove(int bacode)

 

4. HeadServiceImpl.java

 

상품등록 public int regist (Inventory ivo) -->  insertProduct

바코드중복체크 public int checkBacode(int bacode) --> selectBacode

상품명중복체크 public int checkPname(String pname) --> selectPname

상품리스트 public List<InventoryVO> getHeadList(Criterion cri) --> selectHeadlist

대분류 public getLargeCate(Criterion cri) --> selectLargeCate

소분류 public getMediumCate(Criterion cri) --> selectMediumCate

상품수정 public int modify(ProductVO pvo) --> updateProduct

상품삭제 public int remove(int bacode) --> deleteProduct

5.HeadDAO.java

상품등록 public int insertProduct(MemberVO mvo)

바코드중복체크 public int selectBacode(String id)

상품명중복체크 public int selectPname(String id)

상품리스트 public ProductVO selectHeadlist(Criterion cri)

대분류 selectLargeCate(Criterion cri)

소분류 selectMediumCate(Criterion cri)

상품수정 public int updateProduct(ProductVO pvo)

상품삭제 deleteProduct(int bacode)

6. HeadDAOImpl.java

selectLargeCate() --> "lcate"

selectMidiumCate() --> "mcate"

상품등록 insertProduct(MemberVO mvo) --> "regist"

바코드중복체크 selectBarcode(int barcode) --> "checkbacode"

상품명중복체크 selectPname(String pname) --> "checkpname"

상품수정 updateProduct(ProductVO pvo) --> "modify"

상품리스트 selectHeadlist(Criterion cri) --> "hlist"

상품삭제 deleteProduct(int bacode) --> "remove"

 

7. Mapper

<insert id="regsit" parameterType="HeadVO">

<select id="checkbacode" parameterType="java.lang.Integer" resultType="java.lang.Integer">

<select id="checkpname" parameterType="java.lang.String" resultType="java.lang.Integer">

<select id="hlist" parameterType="Criterion" resultType="HeadVO">

<select id="lcate" parameterType="Criterion" resultType="HeadVO">

<select id="mcate" parameterType="Criterion" resultType="HeadVO">

<update id="modify" parameterType="HeadVO">

<delete id="remove" parameterType="java.lang.Integer">

<select id="totalCount" parameterType="Criterion" resultType="java.lang.Integer">

 

 

 

 

Store(가맹점) : 재고, 결재, 발주

로그인화면에서 지점계정으로 로그인시

payment.jsp + soldlist.jsp / stocklist + scraplist / orderlist +order / main+management

1. Store(jsp)

- 메인 : main.jsp 버튼4개 (결제 조회 재고/폐기관리 발주/통계관리)

--> productmanagement.jsp버튼2개(재고/폐기) /storemanagement.jsp버튼2개

- 상품리스트 : stocklist.jsp(재고) soldlist.jsp(영수증, 판매) orderlist.jsp(발주) scraplist(폐기)

발주창 : order.jsp(본사리스트 보여주는 화면)

- 상품결제창 : payment.jsp

 

 

2. InventoryCtrl

- managetmentCtrl

main : @GetMapping("/main)

productmanagement.jsp : @GetMapping("/productmanagement")@GetMapping("/productmanagement")

storemanagement.jsp : @GetMapping("/storemanagement") @GetMapping("/storemanagement")

 

- StockScrapCtrl

 stocklist.jsp : @GetMapping @PostMapping(수정시)    modifyQuantity()

public largeCate()  public mediumCate() 상품리스트 public List<InventoryVO> getProductList(Criterion cri) - 전체 + 카테고리별  : 서치방식과동일하게

 

scraplist.jsp : @GetMapping()

getScrapList(sysdate)

- PaySoldCtrl

payment.jsp : @GetMapping @PostMapping("/") addReciet()

public largeCate()  public mediumCate() 상품리스트 public List<InventoryVO> getProductList(Criterion cri)

getProductList(bacode) 대신 javascript

추가 : 모달창 결제완료버튼 클릭시 결제되고 tbl_sell

 

조회 --> soldlist.jsp : @GetMapping()

getReceipList()

getReceipDetail()

- OrderCtrl

orderlist.jsp : @GetMapping()   getOrderList() modifyOrderStatus()

order.jsp : @GetMapping() @PostMapping() selectLargeCate() selectMediumCate() getHeadList() getProductInfo() addOrder()

 

 

 

3.Service

 

getOrderList

getHeadList

getProductInfo

insertOrder - for문 사용...?

 

 

getStockList - 수량변경가능 +/-버튼

저장완료버튼눌렀을때 post로 db로 보냄.

updateStockQnt

 

getSoldList

getrecipt

 

getScrapList(폐기할목록) - 해당날짜에 폐기해야하는 리스트 불러오기

insertScrap()-->tbl_scrap으로

deleteRemoveStock

 

 

 

getProductList

getCategoryList

getPayInfo

 

4. SeriveImpl

 

5. DAO

StockScrap

public selectLargeCate()  public selectMediumCate() selectProductList(Criterion cri) selectScrapList(sysdate) updateQuantity()

 

PaySold

pay-public selectLargeCate()  public selectMediumCate() selectProductList(Criterion cri) insertReciet()

sold- selectReceipList() selectReceipDetail()

 

Order

updateOrderStatus()

selectOrderList() selectLargeCate() selectMediumCate() selectHeadList() selectProductInfo() insertOrder()

 

6. DAOImpl

 

7.Mapper

StockScrap

large medium plist slist modqnt

 

PaySold

large medium plist addrec rlist rdetail

 

Order

modstatus  olist large medium hlist pinfo addorder

 

****** 질문 ?  vo객체를 한번에 여러개 db에 insert할때 어느단에서 해결하는게 가장 효과적인지??  mapper쪽으로 객체list를 던진다.(mybatis반복문으로)

ctrl에서 vo로 묶고 이 상태에서 list로만들고 이걸 service단으로 쭉쭊 mapper list로 받고 mybatis 반복문으로 돌려줌.

(은혜씨 사진 참고)

 

 

 

 

<통계>

 

 

-------------------------------------분담-------------------------------------

멤버 + 조회(영수증) : 지인

발주 : 승용

재고+폐기 : 은혜

결제 : 남현

상품 등록/수정/삭제 : 유진

 

'_Programming > Spring' 카테고리의 다른 글

Error.한글깨짐  (0) 2020.07.24
Spring.IoC&DI  (0) 2020.07.21
Spring.Security_basic  (0) 2020.07.07
Spring.AOP(Aspect-Oriented Programming)  (0) 2020.07.06
Spring.Comment  (0) 2020.07.02