mirror of
https://github.com/suhf/No1WMS.git
synced 2026-02-04 19:54:00 +09:00
mybatis join 관련한 기능 추가
This commit is contained in:
@@ -3,7 +3,62 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTO Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="com.no1.wms.authority.AuthorityMapper">
|
||||
<resultMap id="authorityResultMap" type="AuthorityDto">
|
||||
<id column="id" property="id"/>
|
||||
<result column="name" property="name"/>
|
||||
<result column="account" property="account"/>
|
||||
<result column="authority" property="authority"/>
|
||||
<result column="product_category" property="productCategory"/>
|
||||
<result column="product" property="product"/>
|
||||
<result column="prices" property="prices"/>
|
||||
<result column="vendor" property="vendor"/>
|
||||
<result column="warehouse" property="warehouse"/>
|
||||
<result column="stock" property="stock"/>
|
||||
<result column="plan_in" property="planIn"/>
|
||||
<result column="product_in" property="productIn"/>
|
||||
<result column="product_out" property="productOut"/>
|
||||
<result column="board" property="board"/>
|
||||
<result column="activation" property="activation"/>
|
||||
<result column="is_group_authority" property="isGroupAuthority"/>
|
||||
<association property="accountDto" javaType="AccountDto">
|
||||
<id column="personal_authority_id" property="personalAuthorityId" />
|
||||
<result column="employee_number" property="employeeNumber" />
|
||||
<result column="acc_name" property="name" />
|
||||
</association>
|
||||
|
||||
</resultMap>
|
||||
|
||||
|
||||
<select id="selectById" resultType="AuthorityDto">
|
||||
SELECT * FROM authority WHERE id = #{id}
|
||||
</select>
|
||||
<select id="selectAll" resultMap="authorityResultMap" parameterType="map">
|
||||
SELECT
|
||||
auth.id, auth.name, auth.account, auth.authority, auth.product_category, auth.product,
|
||||
auth.prices, auth.vendor, auth.warehouse, auth.stock, auth.plan_in, auth.product_in,
|
||||
auth.product_out, auth.board, auth.activation, auth.is_group_authority,
|
||||
acc.employee_number, acc.name acc_name
|
||||
from authority auth left join account acc on acc.personal_authority_id = auth.id
|
||||
where auth.name like concat('%',#{search},'%')
|
||||
order by auth.activation desc, auth.id desc limit #{start}, #{perPage}
|
||||
</select>
|
||||
<select id="selectByName" resultType="int">
|
||||
SELECT count(name) FROM authority WHERE name = #{name}
|
||||
</select>
|
||||
<insert id="insert" parameterType="AuthorityDto">
|
||||
insert into authority
|
||||
(
|
||||
id, name, account, authority, product_category,
|
||||
product, prices, vendor, warehouse, stock, plan_in,
|
||||
product_in, product_out, board, activation, is_group_authority)
|
||||
VALUES (
|
||||
UUID(), #{name}, #{account},
|
||||
#{authority}, #{productCategory},
|
||||
#{product},#{prices},#{vendor},
|
||||
#{warehouse},#{stock}, #{planIn},
|
||||
#{productIn},#{productOut},#{board},
|
||||
#{activation}, #{isGroupAuthority}
|
||||
)
|
||||
|
||||
</insert>
|
||||
</mapper>
|
||||
@@ -3,4 +3,8 @@
|
||||
}
|
||||
.tab-pane{
|
||||
background-color: rgb(208, 208, 208);
|
||||
}
|
||||
|
||||
.form-check{
|
||||
display: inline!important;
|
||||
}
|
||||
@@ -187,9 +187,6 @@
|
||||
*/
|
||||
$(function() {
|
||||
$("#div_personal_search").hide();
|
||||
$("#search_btn").on("click", function () {
|
||||
$("select[name='search_select'] option:selected").val();
|
||||
});
|
||||
$(".nav-item button").on("click", function(obj){
|
||||
const selectedButtonId = $(obj.currentTarget).attr('id');
|
||||
if(selectedButtonId === 'home-tab'){
|
||||
@@ -201,6 +198,19 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function onSearch(isPersonalSearch){
|
||||
let jsonData = {};
|
||||
if(isPersonalSearch){
|
||||
jsonData.searchOption = $("select[name='search_select'] option:selected").val();
|
||||
jsonData.searchValue = $("#search_personal_input").val();
|
||||
|
||||
}else{
|
||||
jsonData.searchValue = $("#search_group_input").val();
|
||||
}
|
||||
|
||||
console.log(JSON.stringify(jsonData));
|
||||
}
|
||||
</script>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
@@ -212,70 +222,71 @@
|
||||
<hr>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<!-- 탭 부분 -->
|
||||
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#group_authority_tab" type="button" role="tab" aria-controls="home" aria-selected="true">그룹 권한</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#personal_authority_tab" type="button" role="tab" aria-controls="profile" aria-selected="false">개인 권한</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<div id="div_group_search" class="text-end">
|
||||
<input id="search_group_input" type="text" class="w-60 d-inline form-control" placeholder="검색">
|
||||
<button id="search_group_btn" type="button" class="btn btn-primary">검색</button>
|
||||
</div>
|
||||
<div id="div_personal_search" class="text-end">
|
||||
<select name="search_select" class="form-select d-inline">
|
||||
<option selected value="10">10</option>
|
||||
<option value="20">20</option>
|
||||
<option value="30">30</option>
|
||||
</select>
|
||||
<input id="search_personal_input" type="text" class="w-60 d-inline form-control" placeholder="검색">
|
||||
<button id="search_personal_btn" type="button" class="btn btn-primary">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<!-- 탭 부분 -->
|
||||
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="profile-tab" data-bs-toggle="tab" data-bs-target="#personal_authority_tab" type="button" role="tab" aria-controls="profile" aria-selected="false">개인 권한</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link" id="home-tab" data-bs-toggle="tab" data-bs-target="#group_authority_tab" type="button" role="tab" aria-controls="home" aria-selected="true">그룹 권한</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="group_authority_tab" role="tabpanel" aria-labelledby="group-authority-tab">
|
||||
<table class="table" >
|
||||
<thead class="table-dark">
|
||||
<tr><th>번호</th><th>권한 명</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>1</td><td>사장 권한</td></tr>
|
||||
<tr><td>2</td><td>관리자 권한</td></tr>
|
||||
<tr><td>3</td><td>사원 권한</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="personal_authority_tab" role="tabpanel" aria-labelledby="personal-authority-tab">
|
||||
<table class="table" >
|
||||
<thead class="table-dark">
|
||||
<tr><th>번호</th><th>id</th><th>이름</th><th>권한 명</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>1</td><td>230112</td><td>김이박</td><td>사장 권한</td></tr>
|
||||
<tr><td>2</td><td>230112</td><td>김이박</td><td>사장 권한</td></tr>
|
||||
<tr><td>3</td><td>230112</td><td>김이박</td><td>사장 권한</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-8">
|
||||
<div id="div_group_search" class="text-end">
|
||||
<input id="search_group_input" type="text" class="w-60 d-inline form-control" placeholder="검색">
|
||||
<button id="search_group_btn" type="button" class="btn btn-primary" onclick="onSearch(false)">검색</button>
|
||||
</div>
|
||||
<div id="div_personal_search" class="text-end">
|
||||
<select name="search_select" class="form-select d-inline">
|
||||
<option selected value="10">10</option>
|
||||
<option value="20">20</option>
|
||||
<option value="30">30</option>
|
||||
</select>
|
||||
<input id="search_personal_input" type="text" class="w-60 d-inline form-control" placeholder="검색">
|
||||
<button id="search_personal_btn" type="button" class="btn btn-primary" onclick="onSearch(true)">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="personal_authority_tab" role="tabpanel" aria-labelledby="personal-authority-tab">
|
||||
<table class="table" >
|
||||
<thead class="table-dark">
|
||||
<tr><th>번호</th><th>ID</th><th>사용자 명</th><th>권한 명</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>1</td><td>230112</td><td>김이박</td><td>사장 권한</td></tr>
|
||||
<tr><td>2</td><td>230112</td><td>김이박</td><td>사장 권한</td></tr>
|
||||
<tr><td>3</td><td>230112</td><td>김이박</td><td>사장 권한</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="tab-pane fade" id="group_authority_tab" role="tabpanel" aria-labelledby="group-authority-tab">
|
||||
<table class="table" >
|
||||
<thead class="table-dark">
|
||||
<tr><th>번호</th><th>권한 명</th></tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>1</td><td>사장 권한</td></tr>
|
||||
<tr><td>2</td><td>관리자 권한</td></tr>
|
||||
<tr><td>3</td><td>사원 권한</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 탭 부분 끝 -->
|
||||
</div>
|
||||
<!-- 탭 부분 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user