修改商品类别展示方式为树形结构
This commit is contained in:
@@ -15,65 +15,53 @@
|
||||
<script type="text/javascript" src="/js/common/common.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 查询 -->
|
||||
<div id="searchPanel" class="easyui-panel" style="padding:10px;" title="查询窗口" iconCls="icon-search" collapsible="true"
|
||||
closable="false">
|
||||
<table id="searchTable">
|
||||
<tr>
|
||||
<td>名称:</td>
|
||||
<td>
|
||||
<input name="searchName" id="searchName" style="width:100px;"/>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td>类别:</td>
|
||||
<td>
|
||||
<select name="searchParentId_f" id="searchParentId_f" style="width:100px;"></select>
|
||||
<select name="searchParentId_s" id="searchParentId_s" style="width:100px;"></select>
|
||||
<select name="searchParentId_t" id="searchParentId_t" style="width:100px;"></select>
|
||||
</td>
|
||||
<td> </td>
|
||||
<td>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>
|
||||
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- 数据显示table -->
|
||||
<div id="tablePanel" class="easyui-panel" style="padding:1px;top:300px;" title="商品类别列表" iconCls="icon-list"
|
||||
collapsible="true" closable="false">
|
||||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
|
||||
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF">
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="materialCategoryDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
|
||||
closed="true" buttons="#dlg-buttons" modal="true" cache="false" collapsible="false" closable="true">
|
||||
<form id="materialCategoryFM" method="post" novalidate>
|
||||
<table>
|
||||
<tr>
|
||||
<td>上级目录</td>
|
||||
<td style="padding:5px">
|
||||
<input name="parentName" id="parentName" style="width: 200px;height: 20px" readonly="readonly"/>
|
||||
<a href="javascript:void(0)" class="l-btn l-btn-plain" group="" id="lookForSelectMaterialCategory">
|
||||
<span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left"></span></span></a>
|
||||
<input name="parentid" id="parentid" type="hidden"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>名称</td>
|
||||
<td style="padding:5px">
|
||||
<input name="Name" id="Name" class="easyui-validatebox"
|
||||
data-options="required:true,validType:'length[2,30]'" style="width: 100px;height: 20px"/>
|
||||
data-options="required:true,validType:'length[2,30]'" style="width: 200px;height: 20px"/>
|
||||
<input name="id" id="id" type="hidden"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>层次</td>
|
||||
<td>编号</td>
|
||||
<td style="padding:5px">
|
||||
<select name="CategoryLevel" id="CategoryLevel" style="width:100px;">
|
||||
<option value="1">一级分类</option>
|
||||
<option value="2">二级分类</option>
|
||||
<option value="3">三级分类</option>
|
||||
</select>
|
||||
<input name="serialNo" id="serialNo" style="width: 200px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>上级</td>
|
||||
<td>序号</td>
|
||||
<td style="padding:5px">
|
||||
<select name="ParentId_f" id="ParentId_f" style="width:100px;height: 20px"></select>
|
||||
<select name="ParentId_s" id="ParentId_s" style="width:100px;height: 20px"></select>
|
||||
<input name="sort" id="sort" style="width: 200px;height: 20px"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>备注</td>
|
||||
<td style="padding:5px">
|
||||
<textarea name="remark" id="remark" placeholder="暂无备注信息"
|
||||
style="width: 200px; height:40px;"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
@@ -82,169 +70,18 @@
|
||||
<a href="javascript:void(0)" id="cancelMaterialCategory" class="easyui-linkbutton" iconCls="icon-cancel"
|
||||
onclick="javascript:$('#materialCategoryDlg').dialog('close')">取消</a>
|
||||
</div>
|
||||
<div id="forSelectMaterialCategoryDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
|
||||
closed="true" modal="true" cache="false" collapsible="false" closable="true">
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var materialCategoryList = null;
|
||||
var materialCategoryID = null;
|
||||
var parentid_search = null;
|
||||
var lei = null;
|
||||
var url;
|
||||
//初始化界面
|
||||
$(function () {
|
||||
var treeHeight=webH-35;
|
||||
//初始化系统基础信息
|
||||
initSystemData(1);
|
||||
initSelectInfo(1);
|
||||
initTableData();
|
||||
ininPager();
|
||||
initForm();
|
||||
});
|
||||
|
||||
//初始化系统基础信息
|
||||
function initSystemData(parentid_search) {
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/materialCategory/getAllList",
|
||||
data: ({
|
||||
parentId: parentid_search
|
||||
}),
|
||||
//设置为同步
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function (res) {
|
||||
if(res && res.code === 200){
|
||||
materialCategoryList = res.data;
|
||||
} else {
|
||||
$.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error');
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//初始化页面选项卡
|
||||
function initSelectInfo(lei) {
|
||||
var options = "";
|
||||
|
||||
if (materialCategoryList != null) {
|
||||
options = "";
|
||||
for (var i = 0; i < materialCategoryList.length; i++) {
|
||||
var materialCategory = materialCategoryList[i];
|
||||
if (0 == i) {
|
||||
materialCategoryID = materialCategory.id;
|
||||
}
|
||||
options += '<option value="' + materialCategory.id + '">' + materialCategory.name + '</option>';
|
||||
}
|
||||
//$("#ParentId").empty().append(options);
|
||||
if (lei == 1) {
|
||||
$("#searchParentId_f").empty().append('<option value="">全部</option>').append(options);
|
||||
}
|
||||
else if (lei == 2) {
|
||||
$("#searchParentId_s").empty().append('<option value="">全部</option>').append(options);
|
||||
}
|
||||
else if (lei == 3) {
|
||||
$("#searchParentId_t").empty().append('<option value="">全部</option>').append(options);
|
||||
}
|
||||
else if (lei == 11) {
|
||||
$("#ParentId_f").empty().append('<option value="">全部</option>').append(options);
|
||||
}
|
||||
else if (lei == 12) {
|
||||
$("#ParentId_s").empty().append('<option value="">全部</option>').append(options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$("#searchParentId_f").change(
|
||||
function () {
|
||||
var parentid_search = $("#searchParentId_f").val();
|
||||
if (parentid_search != '') {
|
||||
initSystemData(parentid_search);
|
||||
initSelectInfo(2);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$("#searchParentId_s").change(
|
||||
function () {
|
||||
var parentid_search = $("#searchParentId_s").val();
|
||||
if (parentid_search != '') {
|
||||
initSystemData(parentid_search);
|
||||
initSelectInfo(3);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$("#CategoryLevel").change(
|
||||
function () {
|
||||
var CategoryLevel = $("#CategoryLevel").val();
|
||||
if (CategoryLevel == 1) {
|
||||
$("#ParentId_f").empty();
|
||||
$("#ParentId_s").empty();
|
||||
}
|
||||
else if (CategoryLevel == 2) {
|
||||
initSystemData(1);
|
||||
initSelectInfo(11);
|
||||
$("#ParentId_s").enabled = false;
|
||||
}
|
||||
else if (CategoryLevel == 3) {
|
||||
initSystemData(1);
|
||||
initSelectInfo(11);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$("#ParentId_f").change(
|
||||
function () {
|
||||
var ParentId_f = $("#ParentId_f").val();
|
||||
initSystemData(ParentId_f);
|
||||
initSelectInfo(12);
|
||||
}
|
||||
);
|
||||
|
||||
//防止表单提交重复
|
||||
function initForm() {
|
||||
$('#materialCategoryFM').form({
|
||||
onSubmit: function () {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//初始化表格数据
|
||||
function initTableData() {
|
||||
$('#tableData').datagrid({
|
||||
//title:'商品类别列表',
|
||||
//iconCls:'icon-save',
|
||||
//width:700,
|
||||
height: heightInfo,
|
||||
nowrap: false,
|
||||
rownumbers: false,
|
||||
//动画效果
|
||||
animate: false,
|
||||
//选中单行
|
||||
singleSelect: true,
|
||||
collapsible: false,
|
||||
selectOnCheck: false,
|
||||
//fitColumns:true,
|
||||
//单击行是否选中
|
||||
//checkOnSelect : false,
|
||||
pagination: true,
|
||||
//交替出现背景
|
||||
striped: true,
|
||||
//loadFilter: pagerFilter,
|
||||
pageSize: initPageSize,
|
||||
pageList: initPageNum,
|
||||
columns: [[
|
||||
{field: 'id', width: 35, align: "center", checkbox: true},
|
||||
{title: '名称', field: 'name', width: 250},
|
||||
{
|
||||
title: '操作', field: 'op', align: "center", width: 130, formatter: function (value, rec) {
|
||||
var str = '';
|
||||
var rowInfo = rec.id + 'AaBb' + rec.parentId + 'AaBb' + rec.categoryLevel + 'AaBb' + rec.name;
|
||||
str += '<img src="/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterialCategory(\'' + rowInfo + '\');"/> <a onclick="editMaterialCategory(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">编辑</a> ';
|
||||
str += '<img src="/js/easyui-1.3.5/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteMaterialCategory(' + rec.id + ');"/> <a onclick="deleteMaterialCategory(' + rec.id + ');" style="text-decoration:none;color:black;" href="javascript:void(0)">删除</a> ';
|
||||
return str;
|
||||
}
|
||||
}
|
||||
]],
|
||||
height: treeHeight,
|
||||
toolbar: [
|
||||
{
|
||||
id: 'addMaterialCategory',
|
||||
@@ -264,100 +101,91 @@
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadError: function () {
|
||||
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
|
||||
});
|
||||
$('#tableData').prev('.datagrid-view2').find(".datagrid-body").append("<ul id='tt'><ul>");
|
||||
$('#tt').tree({
|
||||
url: '/materialCategory/getMaterialCategoryTree',
|
||||
animate: true,
|
||||
checkbox: true,
|
||||
onDblClick: function(node){
|
||||
//双击修改
|
||||
editMaterialCategory(node);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function addMaterialCategory() {
|
||||
$('#materialCategoryFM').form('clear');
|
||||
$('#materialCategoryDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加商品类别信息');
|
||||
$(".window-mask").css({width: webW, height: webH});
|
||||
$("#Name").val("").focus();
|
||||
$("#parentName").val("");
|
||||
$("#parentid").val("");
|
||||
$("#serialNo").val("");
|
||||
$("#sort").val("");
|
||||
$("#remark").val("");
|
||||
$("#id").val("");
|
||||
url = '/materialCategory/addMaterialCategory';
|
||||
}
|
||||
function editMaterialCategory(node) {
|
||||
var id=node.id;
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: '/materialCategory/findById',
|
||||
dataType: "json",
|
||||
data: ({
|
||||
id: id
|
||||
}),
|
||||
success: function(res) {
|
||||
if(res) {
|
||||
if(res.code!=200){
|
||||
$.messager.alert('提示', res.msg, 'error');
|
||||
return;
|
||||
}
|
||||
$('#materialCategoryFM').form('clear');
|
||||
$('#materialCategoryDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 修改商品类别信息');
|
||||
$(".window-mask").css({width: webW, height: webH});
|
||||
$("#Name").val(res.data.name).focus();
|
||||
$("#parentName").val(res.data.parentName);
|
||||
$("#parentid").val(res.data.parentId);
|
||||
$("#serialNo").val(res.data.serialNo);
|
||||
$("#sort").val(res.data.sort);
|
||||
$("#remark").val(res.data.remark);
|
||||
$("#id").val(res.data.id);
|
||||
url = '/materialCategory/editMaterialCategory';
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error: function () {
|
||||
$.messager.alert('提示', '修改商品类别信息异常,请稍后再试!', 'error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
showMaterialCategoryDetails(1, initPageSize);
|
||||
}
|
||||
|
||||
//初始化键盘enter事件
|
||||
$(document).keydown(function (event) {
|
||||
//兼容 IE和firefox 事件
|
||||
var e = window.event || event;
|
||||
var k = e.keyCode || e.which || e.charCode;
|
||||
//兼容 IE,firefox 兼容
|
||||
var obj = e.srcElement ? e.srcElement : e.target;
|
||||
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
|
||||
if (k == "13" && (obj.id == "CategoryLevel" || obj.id == "Name")) {
|
||||
$("#saveMaterialCategory").click();
|
||||
}
|
||||
//搜索按钮添加快捷键
|
||||
if (k == "13" && (obj.id == "searchParentId" || (obj.id == "searchName"))) {
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
|
||||
//分页信息处理
|
||||
function ininPager() {
|
||||
try {
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
pager.pagination({
|
||||
onSelectPage: function (pageNum, pageSize) {
|
||||
opts.pageNumber = pageNum;
|
||||
opts.pageSize = pageSize;
|
||||
pager.pagination('refresh', {
|
||||
pageNumber: pageNum,
|
||||
pageSize: pageSize
|
||||
});
|
||||
showMaterialCategoryDetails(pageNum, pageSize);
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
|
||||
}
|
||||
}
|
||||
|
||||
//删除商品类别信息
|
||||
function deleteMaterialCategory(materialCategoryID) {
|
||||
$.messager.confirm('删除确认', '确定要删除此商品类别信息吗?', function (r) {
|
||||
if (r) {
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/materialCategory/" + materialCategoryID + "/delete",
|
||||
dataType: "json",
|
||||
success: function (res) {
|
||||
if(res && res.code == 200) {
|
||||
$("#searchBtn").click();
|
||||
} else {
|
||||
$.messager.alert('删除提示', '删除商品类别信息失败,请稍后再试!', 'error');
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error: function () {
|
||||
$.messager.alert('删除提示', '删除商品类别信息异常,请稍后再试!', 'error');
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//批量删除商品类别
|
||||
function batDeleteMaterialCategory() {
|
||||
var row = $('#tableData').datagrid('getChecked');
|
||||
if (row.length == 0) {
|
||||
var nodes = $('#tt').tree('getChecked');
|
||||
if (nodes.length == 0) {
|
||||
$.messager.alert('删除提示', '没有记录被选中!', 'info');
|
||||
return;
|
||||
}
|
||||
if (row.length > 0) {
|
||||
$.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条商品类别信息吗?', function (r) {
|
||||
if (nodes.length > 0) {
|
||||
$.messager.confirm('删除确认', '确定要删除选中的' + nodes.length + '条商品类别信息吗?', function (r) {
|
||||
if (r) {
|
||||
var ids = "";
|
||||
for (var i = 0; i < row.length; i++) {
|
||||
if (i == row.length - 1) {
|
||||
ids += row[i].id;
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
if (i == nodes.length - 1) {
|
||||
ids += nodes[i].id;
|
||||
break;
|
||||
}
|
||||
//alert(row[i].id);
|
||||
ids += row[i].id + ",";
|
||||
ids += nodes[i].id + ",";
|
||||
}
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: "/materialCategory/batchDelete",
|
||||
url: "/materialCategory/batchDeleteMaterialCategory",
|
||||
dataType: "json",
|
||||
async: false,
|
||||
data: ({
|
||||
@@ -365,8 +193,7 @@
|
||||
}),
|
||||
success: function (res) {
|
||||
if(res && res.code === 200) {
|
||||
$("#searchBtn").click();
|
||||
$(":checkbox").attr("checked", false);
|
||||
$('#tt').tree('reload');
|
||||
} else {
|
||||
$.messager.alert('删除提示', '删除商品类别信息失败,请稍后再试!', 'error');
|
||||
}
|
||||
@@ -382,49 +209,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
//增加
|
||||
var url;
|
||||
var materialCategoryID = 0;
|
||||
//保存编辑前的名称
|
||||
var orgMaterialCategory = "";
|
||||
|
||||
function addMaterialCategory() {
|
||||
$('#materialCategoryFM').form('clear');
|
||||
$('#materialCategoryDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui-1.3.5/themes/icons/edit_add.png"/> 增加商品类别信息');
|
||||
$(".window-mask").css({width: webW, height: webH});
|
||||
$("#Name").val("").focus();
|
||||
|
||||
orgMaterialCategory = "";
|
||||
materialCategoryID = 0;
|
||||
url = '/materialCategory/add';
|
||||
}
|
||||
|
||||
//保存信息
|
||||
$("#saveMaterialCategory").off("click").on("click", function () {
|
||||
var parent = 1;
|
||||
if ($("#ParentId_f").val() != "" && $("#ParentId_f").val() != null) {
|
||||
parent = $("#ParentId_f").val();
|
||||
}
|
||||
if ($("#ParentId_s").val() != "" && $("#ParentId_s").val() != null) {
|
||||
parent = $("#ParentId_s").val();
|
||||
if (!$("#Name").val()) {
|
||||
$.messager.alert('提示', '商品类别名称不能为空!', 'warning');
|
||||
return;
|
||||
}
|
||||
var objInfo = $("#materialCategoryFM").serializeObject();
|
||||
$.ajax({
|
||||
type: "post",
|
||||
url: url,
|
||||
dataType: "json",
|
||||
data: ({
|
||||
info: JSON.stringify({
|
||||
ParentId: parent,
|
||||
CategoryLevel: $("#CategoryLevel").val(),
|
||||
Name: $.trim($("#Name").val())
|
||||
})
|
||||
info: JSON.stringify(objInfo)
|
||||
}),
|
||||
success: function(res) {
|
||||
if(res && res.code === 200) {
|
||||
if(res) {
|
||||
if(res.code!=200){
|
||||
$.messager.alert('提示', res.msg, 'error');
|
||||
return;
|
||||
}
|
||||
$('#materialCategoryDlg').dialog('close');
|
||||
//加载完以后重新初始化
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
showMaterialCategoryDetails(opts.pageNumber, opts.pageSize);
|
||||
$('#tt').tree('reload');
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
@@ -434,88 +241,26 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//编辑信息
|
||||
function editMaterialCategory(materialCategoryTotalInfo) {
|
||||
var materialCategoryInfo = materialCategoryTotalInfo.split("AaBb");
|
||||
|
||||
$("#ParentId").focus().val(materialCategoryInfo[1]);
|
||||
$("#CategoryLevel").val(materialCategoryInfo[2]);
|
||||
$("#Name").val(materialCategoryInfo[3]);
|
||||
|
||||
//orgMaterialCategory = materialCategoryInfo[1];
|
||||
$('#materialCategoryDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui-1.3.5/themes/icons/pencil.png"/> 编辑商品类别信息');
|
||||
$(".window-mask").css({width: webW, height: webH});
|
||||
materialCategoryID = materialCategoryInfo[0];
|
||||
//焦点在名称输入框==定焦在输入文字后面
|
||||
$("#Name").val("").focus().val(materialCategoryInfo[3]);
|
||||
url = '/materialCategory/update?id=' + materialCategoryInfo[0];
|
||||
}
|
||||
|
||||
//搜索处理
|
||||
$("#searchBtn").unbind().bind({
|
||||
click: function () {
|
||||
showMaterialCategoryDetails(1, initPageSize);
|
||||
var opts = $("#tableData").datagrid('options');
|
||||
var pager = $("#tableData").datagrid('getPager');
|
||||
opts.pageNumber = 1;
|
||||
opts.pageSize = initPageSize;
|
||||
pager.pagination('refresh', {
|
||||
pageNumber: 1,
|
||||
pageSize: initPageSize
|
||||
});
|
||||
$('#btnSetFunctions').click(function () {
|
||||
var currentRow = $("#tableData").datagrid("getSelected");
|
||||
if (currentRow == null) {
|
||||
$.messager.alert('提示',"请选择一条数据再操作!",'warning');
|
||||
return false;
|
||||
}
|
||||
this.href = "/pages/manage/roleFunctions.html?id=" + currentRow.id;
|
||||
});
|
||||
|
||||
|
||||
function showMaterialCategoryDetails(pageNo, pageSize) {
|
||||
var parent = 1;
|
||||
if ($("#searchParentId_f").val() != "" && $("#searchParentId_f").val() != null) {
|
||||
parent = $("#searchParentId_f").val();
|
||||
}
|
||||
if ($("#searchParentId_s").val() != "" && $("#searchParentId_s").val() != null) {
|
||||
parent = $("#searchParentId_s").val();
|
||||
}
|
||||
if ($("#searchParentId_t").val() != "" && $("#searchParentId_t").val() != null) {
|
||||
parent = $("#searchParentId_t").val();
|
||||
|
||||
}
|
||||
$.ajax({
|
||||
type: "get",
|
||||
url: "/materialCategory/list",
|
||||
dataType: "json",
|
||||
data: ({
|
||||
search: JSON.stringify({
|
||||
name: $.trim($("#searchName").val()),
|
||||
parentId: parent,
|
||||
}),
|
||||
currentPage: pageNo,
|
||||
pageSize: pageSize
|
||||
}),
|
||||
success: function (res) {
|
||||
if(res && res.code === 200){
|
||||
if(res.data && res.data.page) {
|
||||
$("#tableData").datagrid('loadData', res.data.page);
|
||||
}
|
||||
}
|
||||
},
|
||||
//此处添加错误处理
|
||||
error: function () {
|
||||
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
|
||||
return;
|
||||
}
|
||||
//查询父级商品类别
|
||||
$("#lookForSelectMaterialCategory").on("click", function () {
|
||||
$('#forSelectMaterialCategoryDlg').dialog({
|
||||
title: '商品类别选择',
|
||||
width: webW/2,
|
||||
height: webH/2,
|
||||
closed: false,
|
||||
cache: false,
|
||||
href: '/pages/materials/materialcategory_forselect.html',
|
||||
modal: true,
|
||||
resizable:true
|
||||
});
|
||||
}
|
||||
|
||||
//重置按钮
|
||||
$("#searchResetBtn").unbind().bind({
|
||||
click: function () {
|
||||
$("#searchParentId_f").val("");
|
||||
$("#searchParentId_s").val("");
|
||||
$("#searchParentId_t").val("");
|
||||
//加载完以后重新初始化
|
||||
$("#searchBtn").click();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
45
erp_web/pages/materials/materialcategory_forselect.html
Normal file
45
erp_web/pages/materials/materialcategory_forselect.html
Normal file
@@ -0,0 +1,45 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>商品类别选择</title>
|
||||
<meta charset="utf-8">
|
||||
<!-- 指定以IE8的方式来渲染 -->
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
|
||||
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
|
||||
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/js/easyui-1.3.5/themes/default/easyui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="/js/easyui-1.3.5/themes/icon.css"/>
|
||||
<link type="text/css" rel="stylesheet" href="/css/common.css"/>
|
||||
<script type="text/javascript" src="/js/easyui-1.3.5/jquery.easyui.min.js"></script>
|
||||
<script type="text/javascript" src="/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
|
||||
<script type="text/javascript" src="/js/common/common.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 数据显示table -->
|
||||
<div>
|
||||
<ul id="ttForSelect"></ul>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$(function () {
|
||||
$('#ttForSelect').tree({
|
||||
url: '/materialCategory/getMaterialCategoryTree',
|
||||
animate: true,
|
||||
onDblClick: function (node) {
|
||||
//双击修改
|
||||
forSelectMaterialCategory(node);
|
||||
}
|
||||
});
|
||||
|
||||
function forSelectMaterialCategory(node) {
|
||||
console.log(node);
|
||||
$("#parentName").val(node.text);
|
||||
$("#parentid").val(node.id);
|
||||
$('#forSelectMaterialCategoryDlg').dialog('close');
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -5291,3 +5291,51 @@ end;
|
||||
//
|
||||
DELIMITER ;
|
||||
|
||||
-- ----------------------------
|
||||
-- 时间:2019年2月18日
|
||||
-- version:1.0.3
|
||||
-- 此次更新修改产品类型表jsh_materialcategory,添加一些字段
|
||||
-- 特别提醒:之后的sql都是在之前基础上迭代,可以对已存在的系统进行数据保留更新
|
||||
-- ----------------------------
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段sort,显示顺序
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add sort varchar(10) DEFAULT null COMMENT '显示顺序';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段status,状态,0系统默认,1启用,2删除
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add status varchar(1) DEFAULT '0' COMMENT '状态,0系统默认,1启用,2删除';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段serial_no,编号
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add serial_no varchar(100) DEFAULT null COMMENT '编号';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段remark,备注
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add remark varchar(1024) DEFAULT null COMMENT '备注';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段create_time,创建时间
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add create_time datetime DEFAULT null COMMENT '创建时间';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段creator,创建人
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add creator bigint(20) DEFAULT null COMMENT '创建人';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段update_time,更新时间
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add update_time datetime DEFAULT null COMMENT '更新时间';
|
||||
-- ----------------------------
|
||||
-- 产品类型表添加字段updater,更新人
|
||||
-- ----------------------------
|
||||
alter table jsh_materialcategory add updater bigint(20) DEFAULT null COMMENT '更新人';
|
||||
|
||||
-- ----------------------------
|
||||
-- 去掉jsh_materialcategory外键
|
||||
-- ----------------------------
|
||||
ALTER TABLE jsh_materialcategory DROP FOREIGN KEY FK3EE7F725237A77D8;
|
||||
|
||||
-- ----------------------------
|
||||
-- 修改根目录父节点id为-1
|
||||
-- ----------------------------
|
||||
update jsh_materialcategory set ParentId='-1' where id='1'
|
||||
|
||||
Binary file not shown.
@@ -70,6 +70,19 @@ public class BusinessConstants {
|
||||
public static final String SEQ_TO_STRING_LESS_INSERT = "0";
|
||||
//单据编号
|
||||
public static final String DEPOT_NUMBER_SEQ = "depot_number_seq";
|
||||
/**
|
||||
* 商品类别根目录id
|
||||
* */
|
||||
public static final Long MATERIAL_CATEGORY_ROOT_ID = 1L;
|
||||
/**
|
||||
* 商品类别状态
|
||||
* 0系统默认,1启用,2删除
|
||||
* */
|
||||
public static final String MATERIAL_CATEGORY_STATUS_DEFAULT = "0";
|
||||
public static final String MATERIAL_CATEGORY_STATUS_ENABLE = "1";
|
||||
public static final String MATERIAL_CATEGORY_STATUS_DELETE = "2";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -59,6 +59,19 @@ public class ExceptionConstants {
|
||||
//商品库存不足
|
||||
public static final int MATERIAL_STOCK_NOT_ENOUGH_CODE = 8000004;
|
||||
public static final String MATERIAL_STOCK_NOT_ENOUGH_MSG = "商品:%s库存不足";
|
||||
/**
|
||||
* 商品类别信息
|
||||
* type = 75
|
||||
* */
|
||||
//添加商品类别信息失败
|
||||
public static final int MATERIAL_CATEGORY_ADD_FAILED_CODE = 7500000;
|
||||
public static final String MATERIAL_CATEGORY_ADD_FAILED_MSG = "添加商品类别信息失败";
|
||||
//删除商品类别信息失败
|
||||
public static final int MATERIAL_CATEGORY_DELETE_FAILED_CODE = 7500001;
|
||||
public static final String MATERIAL_CATEGORY_DELETE_FAILED_MSG = "删除商品类别信息失败";
|
||||
//修改商品类别信息失败
|
||||
public static final int MATERIAL_CATEGORY_EDIT_FAILED_CODE = 7500002;
|
||||
public static final String MATERIAL_CATEGORY_EDIT_FAILED_MSG = "添加商品类别信息失败";
|
||||
|
||||
/**
|
||||
* 标准正常返回/操作成功返回
|
||||
|
||||
@@ -1,69 +1,163 @@
|
||||
package com.jsh.erp.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jsh.erp.datasource.entities.MaterialCategory;
|
||||
import com.jsh.erp.service.materialCategory.MaterialCategoryService;
|
||||
import com.jsh.erp.utils.BaseResponseInfo;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ji—sheng—hua 华夏ERP
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(value = "/materialCategory")
|
||||
public class MaterialCategoryController {
|
||||
private Logger logger = LoggerFactory.getLogger(MaterialCategoryController.class);
|
||||
|
||||
@Resource
|
||||
private MaterialCategoryService materialCategoryService;
|
||||
|
||||
@GetMapping(value = "/getAllList")
|
||||
public BaseResponseInfo getAllList(@RequestParam("parentId") Long parentId, HttpServletRequest request) {
|
||||
BaseResponseInfo res = new BaseResponseInfo();
|
||||
try {
|
||||
List<MaterialCategory> materialCategoryList = materialCategoryService.getAllList(parentId);
|
||||
res.code = 200;
|
||||
res.data = materialCategoryList;
|
||||
} catch(Exception e){
|
||||
e.printStackTrace();
|
||||
res.code = 500;
|
||||
res.data = "获取数据失败";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id来查询商品名称
|
||||
* @param id
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/findById")
|
||||
public BaseResponseInfo findById(@RequestParam("id") Long id, HttpServletRequest request) {
|
||||
BaseResponseInfo res = new BaseResponseInfo();
|
||||
try {
|
||||
List<MaterialCategory> dataList = materialCategoryService.findById(id);
|
||||
JSONObject outer = new JSONObject();
|
||||
if (null != dataList) {
|
||||
for (MaterialCategory mc : dataList) {
|
||||
outer.put("name", mc.getName());
|
||||
outer.put("parentId", mc.getParentid());
|
||||
}
|
||||
}
|
||||
res.code = 200;
|
||||
res.data = outer;
|
||||
} catch(Exception e){
|
||||
e.printStackTrace();
|
||||
res.code = 500;
|
||||
res.data = "获取数据失败";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
}
|
||||
package com.jsh.erp.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.jsh.erp.constants.ExceptionConstants;
|
||||
import com.jsh.erp.datasource.entities.MaterialCategory;
|
||||
import com.jsh.erp.datasource.entities.SerialNumberEx;
|
||||
import com.jsh.erp.datasource.vo.TreeNode;
|
||||
import com.jsh.erp.exception.BusinessRunTimeException;
|
||||
import com.jsh.erp.service.materialCategory.MaterialCategoryService;
|
||||
import com.jsh.erp.utils.BaseResponseInfo;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author ji—sheng—hua 华夏ERP
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(value = "/materialCategory")
|
||||
public class MaterialCategoryController {
|
||||
private Logger logger = LoggerFactory.getLogger(MaterialCategoryController.class);
|
||||
|
||||
@Resource
|
||||
private MaterialCategoryService materialCategoryService;
|
||||
|
||||
@GetMapping(value = "/getAllList")
|
||||
public BaseResponseInfo getAllList(@RequestParam("parentId") Long parentId, HttpServletRequest request) {
|
||||
BaseResponseInfo res = new BaseResponseInfo();
|
||||
try {
|
||||
List<MaterialCategory> materialCategoryList = materialCategoryService.getAllList(parentId);
|
||||
res.code = 200;
|
||||
res.data = materialCategoryList;
|
||||
} catch(Exception e){
|
||||
e.printStackTrace();
|
||||
res.code = 500;
|
||||
res.data = "获取数据失败";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id来查询商品名称
|
||||
* @param id
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/findById")
|
||||
public BaseResponseInfo findById(@RequestParam("id") Long id, HttpServletRequest request) {
|
||||
BaseResponseInfo res = new BaseResponseInfo();
|
||||
try {
|
||||
List<MaterialCategory> dataList = materialCategoryService.findById(id);
|
||||
JSONObject outer = new JSONObject();
|
||||
if (null != dataList) {
|
||||
for (MaterialCategory mc : dataList) {
|
||||
outer.put("id", mc.getId());
|
||||
outer.put("name", mc.getName());
|
||||
outer.put("parentId", mc.getParentid());
|
||||
List<MaterialCategory> dataParentList = materialCategoryService.findById(mc.getParentid());
|
||||
if(dataParentList!=null&&dataParentList.size()>0){
|
||||
outer.put("parentName", dataParentList.get(0).getName());
|
||||
}
|
||||
outer.put("sort", mc.getSort());
|
||||
outer.put("serialNo", mc.getSerialNo());
|
||||
outer.put("remark", mc.getRemark());
|
||||
}
|
||||
}
|
||||
res.code = 200;
|
||||
res.data = outer;
|
||||
} catch(Exception e){
|
||||
e.printStackTrace();
|
||||
res.code = 500;
|
||||
res.data = "获取数据失败";
|
||||
}
|
||||
return res;
|
||||
}
|
||||
/**
|
||||
* create by: cjl
|
||||
* description:
|
||||
* 获取商品类别树数据
|
||||
* create time: 2019/2/19 11:49
|
||||
* @Param:
|
||||
* @return com.alibaba.fastjson.JSONArray
|
||||
*/
|
||||
@RequestMapping(value = "/getMaterialCategoryTree")
|
||||
public JSONArray getMaterialCategoryTree() throws Exception{
|
||||
JSONArray arr=new JSONArray();
|
||||
List<TreeNode> materialCategoryTree = materialCategoryService.getMaterialCategoryTree();
|
||||
if(materialCategoryTree!=null&&materialCategoryTree.size()>0){
|
||||
for(TreeNode node:materialCategoryTree){
|
||||
String str=JSON.toJSONString(node);
|
||||
JSONObject obj=JSON.parseObject(str);
|
||||
arr.add(obj) ;
|
||||
}
|
||||
}
|
||||
return arr;
|
||||
}
|
||||
/**
|
||||
* create by: cjl
|
||||
* description:
|
||||
* 新增商品类别数据
|
||||
* create time: 2019/2/19 17:17
|
||||
* @Param: beanJson
|
||||
* @return java.lang.Object
|
||||
*/
|
||||
@RequestMapping(value = "/addMaterialCategory")
|
||||
public Object addMaterialCategory(@RequestParam("info") String beanJson) throws Exception {
|
||||
JSONObject result = ExceptionConstants.standardSuccess();
|
||||
MaterialCategory mc= JSON.parseObject(beanJson, MaterialCategory.class);
|
||||
int i= materialCategoryService.addMaterialCategory(mc);
|
||||
if(i<1){
|
||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_CATEGORY_ADD_FAILED_CODE,
|
||||
ExceptionConstants.MATERIAL_CATEGORY_ADD_FAILED_MSG);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* create by: cjl
|
||||
* description:
|
||||
* 修改商品类别数据
|
||||
* create time: 2019/2/20 9:30
|
||||
* @Param: beanJson
|
||||
* @return java.lang.Object
|
||||
*/
|
||||
@RequestMapping(value = "/editMaterialCategory")
|
||||
public Object editMaterialCategory(@RequestParam("info") String beanJson) throws Exception {
|
||||
JSONObject result = ExceptionConstants.standardSuccess();
|
||||
MaterialCategory mc= JSON.parseObject(beanJson, MaterialCategory.class);
|
||||
int i= materialCategoryService.editMaterialCategory(mc);
|
||||
if(i<1){
|
||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_CATEGORY_ADD_FAILED_CODE,
|
||||
ExceptionConstants.MATERIAL_CATEGORY_ADD_FAILED_MSG);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* create by: cjl
|
||||
* description:
|
||||
* 批量删除商品类别信息
|
||||
* create time: 2019/2/19 17:26
|
||||
* @Param: ids
|
||||
* @return java.lang.Object
|
||||
*/
|
||||
@RequestMapping(value = "/batchDeleteMaterialCategory")
|
||||
public Object batchDeleteMaterialCategory(@RequestParam("ids") String ids) throws Exception {
|
||||
JSONObject result = ExceptionConstants.standardSuccess();
|
||||
int i= materialCategoryService.batchDeleteMaterialCategoryByIds(ids);
|
||||
if(i<1){
|
||||
throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_CATEGORY_DELETE_FAILED_CODE,
|
||||
ExceptionConstants.MATERIAL_CATEGORY_DELETE_FAILED_MSG);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,131 +1,389 @@
|
||||
package com.jsh.erp.datasource.entities;
|
||||
|
||||
public class MaterialCategory {
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.Id
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.Name
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Short categorylevel;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.ParentId
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Long parentid;
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.Id
|
||||
*
|
||||
* @return the value of jsh_materialcategory.Id
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.Id
|
||||
*
|
||||
* @param id the value for jsh_materialcategory.Id
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.Name
|
||||
*
|
||||
* @return the value of jsh_materialcategory.Name
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.Name
|
||||
*
|
||||
* @param name the value for jsh_materialcategory.Name
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this.name = name == null ? null : name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @return the value of jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Short getCategorylevel() {
|
||||
return categorylevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @param categorylevel the value for jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setCategorylevel(Short categorylevel) {
|
||||
this.categorylevel = categorylevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.ParentId
|
||||
*
|
||||
* @return the value of jsh_materialcategory.ParentId
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Long getParentid() {
|
||||
return parentid;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.ParentId
|
||||
*
|
||||
* @param parentid the value for jsh_materialcategory.ParentId
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setParentid(Long parentid) {
|
||||
this.parentid = parentid;
|
||||
}
|
||||
package com.jsh.erp.datasource.entities;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class MaterialCategory {
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.Id
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.Name
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Short categorylevel;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.ParentId
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Long parentid;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.sort
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private String sort;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.status
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.serial_no
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private String serialNo;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.remark
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.create_time
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Date createTime;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.creator
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Long creator;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.update_time
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* This field was generated by MyBatis Generator.
|
||||
* This field corresponds to the database column jsh_materialcategory.updater
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
private Long updater;
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.Id
|
||||
*
|
||||
* @return the value of jsh_materialcategory.Id
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.Id
|
||||
*
|
||||
* @param id the value for jsh_materialcategory.Id
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.Name
|
||||
*
|
||||
* @return the value of jsh_materialcategory.Name
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.Name
|
||||
*
|
||||
* @param name the value for jsh_materialcategory.Name
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this.name = name == null ? null : name.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @return the value of jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Short getCategorylevel() {
|
||||
return categorylevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @param categorylevel the value for jsh_materialcategory.CategoryLevel
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setCategorylevel(Short categorylevel) {
|
||||
this.categorylevel = categorylevel;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.ParentId
|
||||
*
|
||||
* @return the value of jsh_materialcategory.ParentId
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Long getParentid() {
|
||||
return parentid;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.ParentId
|
||||
*
|
||||
* @param parentid the value for jsh_materialcategory.ParentId
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setParentid(Long parentid) {
|
||||
this.parentid = parentid;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.sort
|
||||
*
|
||||
* @return the value of jsh_materialcategory.sort
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public String getSort() {
|
||||
return sort;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.sort
|
||||
*
|
||||
* @param sort the value for jsh_materialcategory.sort
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setSort(String sort) {
|
||||
this.sort = sort == null ? null : sort.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.status
|
||||
*
|
||||
* @return the value of jsh_materialcategory.status
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public String getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.status
|
||||
*
|
||||
* @param status the value for jsh_materialcategory.status
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setStatus(String status) {
|
||||
this.status = status == null ? null : status.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.serial_no
|
||||
*
|
||||
* @return the value of jsh_materialcategory.serial_no
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public String getSerialNo() {
|
||||
return serialNo;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.serial_no
|
||||
*
|
||||
* @param serialNo the value for jsh_materialcategory.serial_no
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setSerialNo(String serialNo) {
|
||||
this.serialNo = serialNo == null ? null : serialNo.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.remark
|
||||
*
|
||||
* @return the value of jsh_materialcategory.remark
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.remark
|
||||
*
|
||||
* @param remark the value for jsh_materialcategory.remark
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark == null ? null : remark.trim();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.create_time
|
||||
*
|
||||
* @return the value of jsh_materialcategory.create_time
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.create_time
|
||||
*
|
||||
* @param createTime the value for jsh_materialcategory.create_time
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.creator
|
||||
*
|
||||
* @return the value of jsh_materialcategory.creator
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Long getCreator() {
|
||||
return creator;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.creator
|
||||
*
|
||||
* @param creator the value for jsh_materialcategory.creator
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setCreator(Long creator) {
|
||||
this.creator = creator;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.update_time
|
||||
*
|
||||
* @return the value of jsh_materialcategory.update_time
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Date getUpdateTime() {
|
||||
return updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.update_time
|
||||
*
|
||||
* @param updateTime the value for jsh_materialcategory.update_time
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setUpdateTime(Date updateTime) {
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method returns the value of the database column jsh_materialcategory.updater
|
||||
*
|
||||
* @return the value of jsh_materialcategory.updater
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public Long getUpdater() {
|
||||
return updater;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method sets the value of the database column jsh_materialcategory.updater
|
||||
*
|
||||
* @param updater the value for jsh_materialcategory.updater
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
public void setUpdater(Long updater) {
|
||||
this.updater = updater;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,106 +1,96 @@
|
||||
package com.jsh.erp.datasource.mappers;
|
||||
|
||||
import com.jsh.erp.datasource.entities.MaterialCategory;
|
||||
import com.jsh.erp.datasource.entities.MaterialCategoryExample;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
public interface MaterialCategoryMapper {
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int countByExample(MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int deleteByExample(MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int deleteByPrimaryKey(Long id);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int insert(MaterialCategory record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int insertSelective(MaterialCategory record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
List<MaterialCategory> selectByExample(MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
MaterialCategory selectByPrimaryKey(Long id);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByExampleSelective(@Param("record") MaterialCategory record, @Param("example") MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByExample(@Param("record") MaterialCategory record, @Param("example") MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByPrimaryKeySelective(MaterialCategory record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByPrimaryKey(MaterialCategory record);
|
||||
|
||||
List<MaterialCategory> selectByConditionMaterialCategory(
|
||||
@Param("name") String name,
|
||||
@Param("parentId") Integer parentId,
|
||||
@Param("offset") Integer offset,
|
||||
@Param("rows") Integer rows);
|
||||
|
||||
int countsByMaterialCategory(
|
||||
@Param("name") String name,
|
||||
@Param("parentId") Integer parentId);
|
||||
package com.jsh.erp.datasource.mappers;
|
||||
|
||||
import com.jsh.erp.datasource.entities.MaterialCategory;
|
||||
import com.jsh.erp.datasource.entities.MaterialCategoryExample;
|
||||
import java.util.List;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
public interface MaterialCategoryMapper {
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int countByExample(MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int deleteByExample(MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int deleteByPrimaryKey(Long id);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int insert(MaterialCategory record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int insertSelective(MaterialCategory record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
List<MaterialCategory> selectByExample(MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
MaterialCategory selectByPrimaryKey(Long id);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByExampleSelective(@Param("record") MaterialCategory record, @Param("example") MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByExample(@Param("record") MaterialCategory record, @Param("example") MaterialCategoryExample example);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByPrimaryKeySelective(MaterialCategory record);
|
||||
|
||||
/**
|
||||
* This method was generated by MyBatis Generator.
|
||||
* This method corresponds to the database table jsh_materialcategory
|
||||
*
|
||||
* @mbggenerated
|
||||
*/
|
||||
int updateByPrimaryKey(MaterialCategory record);
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.jsh.erp.datasource.mappers;
|
||||
|
||||
import com.jsh.erp.datasource.entities.MaterialCategory;
|
||||
import com.jsh.erp.datasource.vo.TreeNode;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description
|
||||
*
|
||||
* @Author: cjl
|
||||
* @Date: 2019/2/18 17:23
|
||||
*/
|
||||
public interface MaterialCategoryMapperEx {
|
||||
List<MaterialCategory> selectByConditionMaterialCategory(
|
||||
@Param("name") String name,
|
||||
@Param("parentId") Integer parentId,
|
||||
@Param("offset") Integer offset,
|
||||
@Param("rows") Integer rows);
|
||||
|
||||
int countsByMaterialCategory(
|
||||
@Param("name") String name,
|
||||
@Param("parentId") Integer parentId);
|
||||
|
||||
List<TreeNode> getNodeTree();
|
||||
List<TreeNode> getNextNodeTree(@Param("id") Long id);
|
||||
|
||||
int addMaterialCategory(MaterialCategory mc);
|
||||
|
||||
int batchDeleteMaterialCategoryByIds(@Param("updateTime") Date updateTime, @Param("updater") Long updater, @Param("ids") String ids[]);
|
||||
|
||||
int editMaterialCategory(MaterialCategory mc);
|
||||
}
|
||||
96
src/main/java/com/jsh/erp/datasource/vo/TreeNode.java
Normal file
96
src/main/java/com/jsh/erp/datasource/vo/TreeNode.java
Normal file
@@ -0,0 +1,96 @@
|
||||
package com.jsh.erp.datasource.vo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description
|
||||
* 树形结构基本元素
|
||||
* @Author: cjl
|
||||
* @Date: 2019/2/19 11:27
|
||||
*/
|
||||
public class TreeNode {
|
||||
/**
|
||||
* id主键
|
||||
* */
|
||||
private Long id;
|
||||
/**
|
||||
* text显示的文本
|
||||
* */
|
||||
private String text;
|
||||
/**
|
||||
*state节点状态,'open' 或 'closed',默认:'open'。如果为'closed'的时候,将不自动展开该节点。
|
||||
* */
|
||||
private String state="open";
|
||||
/**
|
||||
*iconCls 节点图标id
|
||||
* */
|
||||
private String iconCls;
|
||||
/**
|
||||
* checked 是否被选中
|
||||
* */
|
||||
private boolean checked;
|
||||
/**
|
||||
*attributes 自定义属性
|
||||
* */
|
||||
private String attributes;
|
||||
/**
|
||||
* children 子节点
|
||||
* */
|
||||
private List<TreeNode> children;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
public void setText(String text) {
|
||||
this.text = text;
|
||||
}
|
||||
|
||||
public String getState() {
|
||||
return state;
|
||||
}
|
||||
|
||||
public void setState(String state) {
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
public String getIconCls() {
|
||||
return iconCls;
|
||||
}
|
||||
|
||||
public void setIconCls(String iconCls) {
|
||||
this.iconCls = iconCls;
|
||||
}
|
||||
|
||||
public boolean isChecked() {
|
||||
return checked;
|
||||
}
|
||||
|
||||
public void setChecked(boolean checked) {
|
||||
this.checked = checked;
|
||||
}
|
||||
|
||||
public String getAttributes() {
|
||||
return attributes;
|
||||
}
|
||||
|
||||
public void setAttributes(String attributes) {
|
||||
this.attributes = attributes;
|
||||
}
|
||||
|
||||
public List<TreeNode> getChildren() {
|
||||
return children;
|
||||
}
|
||||
|
||||
public void setChildren(List<TreeNode> children) {
|
||||
this.children = children;
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,14 @@
|
||||
package com.jsh.erp.service.materialCategory;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jsh.erp.constants.BusinessConstants;
|
||||
import com.jsh.erp.datasource.entities.MaterialCategory;
|
||||
import com.jsh.erp.datasource.entities.MaterialCategoryExample;
|
||||
import com.jsh.erp.datasource.entities.User;
|
||||
import com.jsh.erp.datasource.mappers.MaterialCategoryMapper;
|
||||
import com.jsh.erp.datasource.mappers.MaterialCategoryMapperEx;
|
||||
import com.jsh.erp.datasource.vo.TreeNode;
|
||||
import com.jsh.erp.service.user.UserService;
|
||||
import com.jsh.erp.utils.StringUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -12,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@@ -20,6 +26,10 @@ public class MaterialCategoryService {
|
||||
|
||||
@Resource
|
||||
private MaterialCategoryMapper materialCategoryMapper;
|
||||
@Resource
|
||||
private MaterialCategoryMapperEx materialCategoryMapperEx;
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
public MaterialCategory getMaterialCategory(long id) {
|
||||
return materialCategoryMapper.selectByPrimaryKey(id);
|
||||
@@ -38,11 +48,11 @@ public class MaterialCategoryService {
|
||||
}
|
||||
|
||||
public List<MaterialCategory> select(String name, Integer parentId, int offset, int rows) {
|
||||
return materialCategoryMapper.selectByConditionMaterialCategory(name, parentId, offset, rows);
|
||||
return materialCategoryMapperEx.selectByConditionMaterialCategory(name, parentId, offset, rows);
|
||||
}
|
||||
|
||||
public int countMaterialCategory(String name, Integer parentId) {
|
||||
return materialCategoryMapper.countsByMaterialCategory(name, parentId);
|
||||
return materialCategoryMapperEx.countsByMaterialCategory(name, parentId);
|
||||
}
|
||||
|
||||
@Transactional(value = "transactionManager", rollbackFor = Exception.class)
|
||||
@@ -80,4 +90,68 @@ public class MaterialCategoryService {
|
||||
example.createCriteria().andIdEqualTo(id);
|
||||
return materialCategoryMapper.selectByExample(example);
|
||||
}
|
||||
/**
|
||||
* create by: cjl
|
||||
* description:
|
||||
*获取商品类别树数据
|
||||
* create time: 2019/2/19 14:30
|
||||
* @Param:
|
||||
* @return java.util.List<com.jsh.erp.datasource.vo.TreeNode>
|
||||
*/
|
||||
public List<TreeNode> getMaterialCategoryTree() throws Exception{
|
||||
return materialCategoryMapperEx.getNodeTree();
|
||||
}
|
||||
/**
|
||||
* create by: cjl
|
||||
* description:
|
||||
* 新增商品类别信息
|
||||
* create time: 2019/2/19 16:30
|
||||
* @Param: mc
|
||||
* @return void
|
||||
*/
|
||||
public int addMaterialCategory(MaterialCategory mc) throws Exception {
|
||||
if(mc==null){
|
||||
return 0;
|
||||
}
|
||||
if(mc.getParentid()==null){
|
||||
//没有给定父级目录的id,默认设置父级目录为根目录
|
||||
mc.setParentid(BusinessConstants.MATERIAL_CATEGORY_ROOT_ID);
|
||||
}
|
||||
//数据状态新增时默认设置为启用
|
||||
mc.setStatus(BusinessConstants.MATERIAL_CATEGORY_STATUS_ENABLE);
|
||||
Date date=new Date();
|
||||
User userInfo=userService.getCurrentUser();
|
||||
//创建时间
|
||||
mc.setCreateTime(date);
|
||||
//创建人
|
||||
mc.setCreator(userInfo==null?null:userInfo.getId());
|
||||
//更新时间
|
||||
mc.setUpdateTime(date);
|
||||
//更新人
|
||||
mc.setUpdater(userInfo==null?null:userInfo.getId());
|
||||
return materialCategoryMapperEx.addMaterialCategory(mc);
|
||||
}
|
||||
|
||||
public int batchDeleteMaterialCategoryByIds(String ids) throws Exception {
|
||||
//更新时间
|
||||
Date updateDate =new Date();
|
||||
//更新人
|
||||
User userInfo=userService.getCurrentUser();
|
||||
Long updater=userInfo==null?null:userInfo.getId();
|
||||
StringBuffer sb=new StringBuffer();
|
||||
String strArray[]=ids.split(",");
|
||||
if(strArray.length<1){
|
||||
return 0;
|
||||
}
|
||||
return materialCategoryMapperEx.batchDeleteMaterialCategoryByIds(updateDate,updater,strArray);
|
||||
}
|
||||
|
||||
public int editMaterialCategory(MaterialCategory mc) {
|
||||
//更新时间
|
||||
mc.setUpdateTime(new Date());
|
||||
//更新人
|
||||
User userInfo=userService.getCurrentUser();
|
||||
mc.setUpdater(userInfo==null?null:userInfo.getId());
|
||||
return materialCategoryMapperEx.editMaterialCategory(mc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?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">
|
||||
<?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="com.jsh.erp.datasource.mappers.MaterialCategoryMapper">
|
||||
<resultMap id="BaseResultMap" type="com.jsh.erp.datasource.entities.MaterialCategory">
|
||||
<!--
|
||||
@@ -10,6 +10,14 @@
|
||||
<result column="Name" jdbcType="VARCHAR" property="name" />
|
||||
<result column="CategoryLevel" jdbcType="SMALLINT" property="categorylevel" />
|
||||
<result column="ParentId" jdbcType="BIGINT" property="parentid" />
|
||||
<result column="sort" jdbcType="VARCHAR" property="sort" />
|
||||
<result column="status" jdbcType="VARCHAR" property="status" />
|
||||
<result column="serial_no" jdbcType="VARCHAR" property="serialNo" />
|
||||
<result column="remark" jdbcType="VARCHAR" property="remark" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="creator" jdbcType="BIGINT" property="creator" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
<result column="updater" jdbcType="BIGINT" property="updater" />
|
||||
</resultMap>
|
||||
<sql id="Example_Where_Clause">
|
||||
<!--
|
||||
@@ -82,7 +90,8 @@
|
||||
WARNING - @mbggenerated
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
-->
|
||||
Id, Name, CategoryLevel, ParentId
|
||||
Id, Name, CategoryLevel, ParentId, sort, status, serial_no, remark, create_time,
|
||||
creator, update_time, updater
|
||||
</sql>
|
||||
<select id="selectByExample" parameterType="com.jsh.erp.datasource.entities.MaterialCategoryExample" resultMap="BaseResultMap">
|
||||
<!--
|
||||
@@ -136,9 +145,15 @@
|
||||
This element is automatically generated by MyBatis Generator, do not modify.
|
||||
-->
|
||||
insert into jsh_materialcategory (Id, Name, CategoryLevel,
|
||||
ParentId)
|
||||
ParentId, sort, status,
|
||||
serial_no, remark, create_time,
|
||||
creator, update_time, updater
|
||||
)
|
||||
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{categorylevel,jdbcType=SMALLINT},
|
||||
#{parentid,jdbcType=BIGINT})
|
||||
#{parentid,jdbcType=BIGINT}, #{sort,jdbcType=VARCHAR}, #{status,jdbcType=VARCHAR},
|
||||
#{serialNo,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP},
|
||||
#{creator,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP}, #{updater,jdbcType=BIGINT}
|
||||
)
|
||||
</insert>
|
||||
<insert id="insertSelective" parameterType="com.jsh.erp.datasource.entities.MaterialCategory">
|
||||
<!--
|
||||
@@ -159,6 +174,30 @@
|
||||
<if test="parentid != null">
|
||||
ParentId,
|
||||
</if>
|
||||
<if test="sort != null">
|
||||
sort,
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status,
|
||||
</if>
|
||||
<if test="serialNo != null">
|
||||
serial_no,
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark,
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
creator,
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
<if test="updater != null">
|
||||
updater,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
@@ -173,6 +212,30 @@
|
||||
<if test="parentid != null">
|
||||
#{parentid,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="sort != null">
|
||||
#{sort,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
#{status,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="serialNo != null">
|
||||
#{serialNo,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
#{remark,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
#{createTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
#{creator,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
#{updateTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updater != null">
|
||||
#{updater,jdbcType=BIGINT},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
<select id="countByExample" parameterType="com.jsh.erp.datasource.entities.MaterialCategoryExample" resultType="java.lang.Integer">
|
||||
@@ -204,6 +267,30 @@
|
||||
<if test="record.parentid != null">
|
||||
ParentId = #{record.parentid,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="record.sort != null">
|
||||
sort = #{record.sort,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.status != null">
|
||||
status = #{record.status,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.serialNo != null">
|
||||
serial_no = #{record.serialNo,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.remark != null">
|
||||
remark = #{record.remark,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="record.createTime != null">
|
||||
create_time = #{record.createTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="record.creator != null">
|
||||
creator = #{record.creator,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="record.updateTime != null">
|
||||
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="record.updater != null">
|
||||
updater = #{record.updater,jdbcType=BIGINT},
|
||||
</if>
|
||||
</set>
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
@@ -218,7 +305,15 @@
|
||||
set Id = #{record.id,jdbcType=BIGINT},
|
||||
Name = #{record.name,jdbcType=VARCHAR},
|
||||
CategoryLevel = #{record.categorylevel,jdbcType=SMALLINT},
|
||||
ParentId = #{record.parentid,jdbcType=BIGINT}
|
||||
ParentId = #{record.parentid,jdbcType=BIGINT},
|
||||
sort = #{record.sort,jdbcType=VARCHAR},
|
||||
status = #{record.status,jdbcType=VARCHAR},
|
||||
serial_no = #{record.serialNo,jdbcType=VARCHAR},
|
||||
remark = #{record.remark,jdbcType=VARCHAR},
|
||||
create_time = #{record.createTime,jdbcType=TIMESTAMP},
|
||||
creator = #{record.creator,jdbcType=BIGINT},
|
||||
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
|
||||
updater = #{record.updater,jdbcType=BIGINT}
|
||||
<if test="_parameter != null">
|
||||
<include refid="Update_By_Example_Where_Clause" />
|
||||
</if>
|
||||
@@ -239,6 +334,30 @@
|
||||
<if test="parentid != null">
|
||||
ParentId = #{parentid,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="sort != null">
|
||||
sort = #{sort,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="status != null">
|
||||
status = #{status,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="serialNo != null">
|
||||
serial_no = #{serialNo,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="remark != null">
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
creator = #{creator,jdbcType=BIGINT},
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="updater != null">
|
||||
updater = #{updater,jdbcType=BIGINT},
|
||||
</if>
|
||||
</set>
|
||||
where Id = #{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
@@ -250,7 +369,15 @@
|
||||
update jsh_materialcategory
|
||||
set Name = #{name,jdbcType=VARCHAR},
|
||||
CategoryLevel = #{categorylevel,jdbcType=SMALLINT},
|
||||
ParentId = #{parentid,jdbcType=BIGINT}
|
||||
ParentId = #{parentid,jdbcType=BIGINT},
|
||||
sort = #{sort,jdbcType=VARCHAR},
|
||||
status = #{status,jdbcType=VARCHAR},
|
||||
serial_no = #{serialNo,jdbcType=VARCHAR},
|
||||
remark = #{remark,jdbcType=VARCHAR},
|
||||
create_time = #{createTime,jdbcType=TIMESTAMP},
|
||||
creator = #{creator,jdbcType=BIGINT},
|
||||
update_time = #{updateTime,jdbcType=TIMESTAMP},
|
||||
updater = #{updater,jdbcType=BIGINT}
|
||||
where Id = #{id,jdbcType=BIGINT}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?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="com.jsh.erp.datasource.mappers.MaterialCategoryMapper">
|
||||
<select id="selectByConditionMaterialCategory" parameterType="com.jsh.erp.datasource.entities.MaterialCategoryExample" resultMap="BaseResultMap">
|
||||
<mapper namespace="com.jsh.erp.datasource.mappers.MaterialCategoryMapperEx">
|
||||
<select id="selectByConditionMaterialCategory" parameterType="com.jsh.erp.datasource.entities.MaterialCategoryExample" resultMap="com.jsh.erp.datasource.mappers.MaterialCategoryMapper.BaseResultMap">
|
||||
select *
|
||||
FROM jsh_materialcategory
|
||||
where 1=1
|
||||
@@ -29,4 +29,67 @@
|
||||
</if>
|
||||
and Id !=1
|
||||
</select>
|
||||
|
||||
<resultMap id="BaseTreeResultMap" type="com.jsh.erp.datasource.vo.TreeNode">
|
||||
<result column="id" property="id"/>
|
||||
<result column="name" property="text"/>
|
||||
<collection column="id" property="children" javaType="java.util.ArrayList"
|
||||
ofType="com.jsh.erp.datasource.vo.TreeNode" select="getNextNodeTree"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap id="NextTreeResultMap" type="com.jsh.erp.datasource.vo.TreeNode">
|
||||
<result column="id" property="id"/>
|
||||
<result column="name" property="text"/>
|
||||
<collection column="id" property="children" javaType="java.util.ArrayList"
|
||||
ofType="com.jsh.erp.datasource.vo.TreeNode" select="getNextNodeTree"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id, name
|
||||
</sql>
|
||||
|
||||
<select id="getNextNodeTree" resultMap="NextTreeResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM jsh_materialcategory
|
||||
WHERE ParentId = #{id}
|
||||
and status !='2'
|
||||
order by sort asc
|
||||
</select>
|
||||
|
||||
<select id="getNodeTree" resultMap="BaseTreeResultMap">
|
||||
SELECT
|
||||
<include refid="Base_Column_List"/>
|
||||
FROM jsh_materialcategory
|
||||
WHERE ParentId = -1
|
||||
and status !='2'
|
||||
order by sort asc
|
||||
</select>
|
||||
<insert id="addMaterialCategory" parameterType="com.jsh.erp.datasource.entities.MaterialCategory"
|
||||
useGeneratedKeys="true" keyProperty="id" keyColumn="id">
|
||||
insert into jsh_materialcategory
|
||||
(Name, CategoryLevel, ParentId, sort,status,serial_no,remark,
|
||||
create_Time, creator,update_Time, updater)
|
||||
values
|
||||
(#{name},#{categorylevel},#{parentid},#{sort},#{status},#{serialNo},#{remark},
|
||||
#{createTime},#{creator},#{updateTime},#{updater}
|
||||
)
|
||||
</insert>
|
||||
<update id="batchDeleteMaterialCategoryByIds">
|
||||
update jsh_materialcategory
|
||||
set update_Time=#{updateTime},updater=#{updater},status='2'
|
||||
where id in (
|
||||
<foreach collection="ids" item="id" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
)
|
||||
</update>
|
||||
<update id="editMaterialCategory">
|
||||
update jsh_materialcategory
|
||||
set update_Time=#{updateTime},updater=#{updater},
|
||||
ParentId=#{parentid},sort=#{sort},serial_no=#{serialNo},
|
||||
name=#{name},remark=#{remark}
|
||||
where id =#{id}
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user