Merge remote-tracking branch 'origin/test' into test

pull/110/head^2
shuliYao 1 year ago
commit 49b671a8b3

@ -89,20 +89,10 @@
<div class="main-content"> <div class="main-content">
<form name="Userdistionaryform" method="post" id="Userdistionaryform" class="form-horizontal" action="${ctx}/backstage/userdistionary/save"> <form name="Userdistionaryform" method="post" id="Userdistionaryform" class="form-horizontal" action="${ctx}/backstage/userdistionary/save">
<input type="hidden" id="search_parentid"> <input type="hidden" id="search_parentid">
<input type="hidden" id="userlist" name="userlist">
<input type="hidden" id="deptlist" name="deptlist"> <input type="hidden" id="deptlist" name="deptlist">
<input type="hidden" value="1" name="usertype"> <input type="hidden" value="1" name="usertype">
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label class="col-sm-2 control-label is-required">* 选择租户:</label>
<div class="col-sm-10">
<select data-placeholder="选择租户..." class="chosen-select" name='userDisId' id='userDisId' class="chosen-select" style="width:80%;" tabindex="2">
</select>
</div>
</div>
</div>
</div>
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
@ -218,19 +208,6 @@
} }
}; };
parent.axgetXiaoyao("${ctx}/backstage/admin/tenant/listall",null,false,function (data) {
if(data.code == "OK"){
$.each(data.data,function(name,anArray) {
console.log(anArray)
$("#userDisId").append("<option value='" + anArray.id + "'>" + anArray.name + "</option>");
});
$("#userDisId").chosen(selectConfig[$("#userDisId")]);
$("#userDisId").change(function (e){
refreshAddTable();
});
}
});
_tableAddListUserdistionary = $('#Userdistionary_add_list').bootstrapTable({ _tableAddListUserdistionary = $('#Userdistionary_add_list').bootstrapTable({
url: '${ctx}/backstage/oa/userdistionary/listnoin' , url: '${ctx}/backstage/oa/userdistionary/listnoin' ,
@ -283,6 +260,7 @@
return row.id + "_" + row.departmentId; return row.id + "_" + row.departmentId;
}); });
func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference'; func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference';
selectionIds = _[func](selectionIds, ids); selectionIds = _[func](selectionIds, ids);
selectionIdDepts = _[func](selectionIdDepts, idDepts); selectionIdDepts = _[func](selectionIdDepts, idDepts);
@ -327,13 +305,11 @@
}, },
submitHandler: function (){ submitHandler: function (){
if(selectionIds.length < 1){ if(selectionIdDepts.length < 1){
parent.toastr.success("选择要添加的用户。"); parent.toastr.success("选择要添加的用户。");
return; return;
} }
$("#userlist").val(selectionIds.join());
$("#deptlist").val(selectionIdDepts.join()); $("#deptlist").val(selectionIdDepts.join());
parent.layer.load(); parent.layer.load();

@ -4,11 +4,11 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>人员归属关系</title> <title>人员归属关系</title>
<#include "/head/headaddedit.html" />
<#include "/head/headlist.html" /> <link href="${ctx}/static/css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
<link rel="stylesheet" href="${ctx}/static/js/plugins/jcrop/css/jquery.Jcrop.css" type="text/css" /> <link rel="stylesheet" href="${ctx}/static/js/plugins/jcrop/css/jquery.Jcrop.css" type="text/css" />
<link href="${ctx}/static/css/plugins/chosen/chosen.css" rel="stylesheet"> <link href="${ctx}/static/css/plugins/chosen/chosen.css" rel="stylesheet">
<link href="${ctx}/static/css/plugins/iCheck/custom.css" rel="stylesheet"> <link href="${ctx}/static/js/plugins/jqueryzTree/css/metroStyle/metroStyle.css" rel="stylesheet">
<style type="text/css"> <style type="text/css">
.jcrop-holder #preview-pane { .jcrop-holder #preview-pane {
@ -56,49 +56,74 @@
</head> </head>
<body class="gray-bg"> <body class="gray-bg">
<div class="wrapper wrapper-content animated fadeInRight"> <div class="wrapper wrapper-content animated fadeInRight">
<div class="ibox "> <div class="row">
<div class="ibox-content"> <div class="col-sm-12">
<div class="ibox-content"> <div class="ibox float-e-margins">
<form id="searcheuserform" name="searcheuserform" class="form-inline"> <div class="ibox-title">
<div class="form-group"> <h5>设置流程权限</h5>
<div class="input-group"> </div>
<select data-placeholder="选择租户..." class="chosen-select" name='userDisId' id='userDisId' class="chosen-select" style="width:350px;" tabindex="2"> <div class="col-sm-3" id="departDivTree">
</select> <div class="ibox float-e-margins">
<div class="ibox-title">
<h5>组织机构</h5>
<div class="ibox-tools">
<a class="collapse-link" title="折叠" id="collapes_linkclose">
<i class="fa fa-chevron-up" ></i>
</a>
<a class="collapse-link" title="展开" id="collapes_linkopen" style="display:none;">
<i class="fa fa fa-chevron-down" ></i>
</a>
</div>
</div> </div>
</div> <div class="ibox-content">
<div class="form-group"> <div id="zTreeDemoBackground left">
<div class="input-group"> <ul id="departZtreeUl" class="ztree"></ul>
<select data-placeholder="审批角色..." class="chosen-select" name='userDisRolesid' id='userDisRolesid' class="chosen-select" style="width:350px;" tabindex="2"> </div>
<option value="">请选择审批角色</option>
</select>
</div> </div>
</div> </div>
<div class="form-group">
<input name='search_username' id='search_username' class='form-control' placeholder='姓名--'/> </div>
</div> <div class="col-sm-9">
<div class="form-group"> <div class="ibox ">
<a class="btn btn-primary btn-rounded btn-sm" onclick="refreshTable()"><i class="fa fa-search"></i>&nbsp;搜索</a> <div class="ibox-content">
</div> <div class="main-content">
</form> <form name="Userdistionaryform" method="post" id="Userdistionaryform" class="form-horizontal" action="${ctx}/backstage/userdistionary/save">
</div> <input type="hidden" id="search_parentid">
</div>
</div> <input type="hidden" id="deptlist" name="deptlist">
<div class="ibox-content"> <input type="hidden" value="1" name="usertype">
<div class="row row-lg">
<div class="col-sm-12">
<div class="container-div"> <div class="row">
<div class="btn-group-sm" id="_mybutton" role="group"> <div class="col-sm-12">
<div class="form-group">
<label class="col-sm-2 control-label is-required">* 用户列表:</label>
<div class="col-sm-10">
<table id="Userdistionary_add_list" ></table>
</div>
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-sm-offset-5">
<button id="savebutton" type="submit" class="btn btn-w-m btn-primary">保存</button>
<button type="button" onclick="rolesback()" class="btn btn-w-m btn-success">取消</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div> </div>
<br/>
</div> </div>
</div>
<div class="col-sm-12 select-table table-striped" >
<table id="Userdistionary_list" ></table>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- 展示流程图的 窗口 --> <!-- 展示流程图的 窗口 -->
<div id="modal-candidate-user-role" class="modal fade" aria-hidden="true"> <div id="modal-candidate-user-role" class="modal fade" aria-hidden="true">
<div class="modal-dialog" role="document" style="width: auto"> <div class="modal-dialog" role="document" style="width: auto">
@ -110,7 +135,8 @@
<div class="modal-body"> <div class="modal-body">
<form id="candidateUserFrom"> <form id="candidateUserFrom">
<input type="hidden" id="fromUserDisId"> <input type="hidden" id="fromUserId">
<input type="hidden" id="fromDeptId">
<input type="hidden" value="1" name="fromUserTyped" id="fromUserTyped"> <input type="hidden" value="1" name="fromUserTyped" id="fromUserTyped">
<div class="form-group"> <div class="form-group">
<div class="input-group" id="fromUserNameDiv"> <div class="input-group" id="fromUserNameDiv">
@ -134,47 +160,92 @@
</div> </div>
</div> </div>
</div> </div>
<#include "/head/footlist.html" /> <#include "/head/footadd.html" />
<script src="${ctx}/static/js/plugins/jcrop/js/jquery.color.js" type="text/javascript"></script> <script src="${ctx}/static/js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
<script src="${ctx}/static/js/plugins/jcrop/js/jquery.Jcrop.js" type="text/javascript"></script> <script src="${ctx}/static/js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
<script src="${ctx}/static/js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
<script src="${ctx}/static/js/plugins/jqueryzTree/js/jquery.ztree.all.min.js"></script>
<script src="${ctx}/static/js/plugins/iCheck/icheck.min.js"></script> <script src="${ctx}/static/js/plugins/jqueryzTree/js/jquery.ztree.all.min.js"></script>
<!-- Chosen --> <!-- Chosen -->
<script src="${ctx}/static/js/plugins/chosen/chosen.jquery.js"></script> <script src="${ctx}/static/js/plugins/chosen/chosen.jquery.js"></script>
</body> <script type="text/javascript">
</html>
<script type="text/javascript">
var _tableListUserdistionary; var _tableListUserdistionary;
var jsptoolbar = ''; var _tableAddListUserdistionary;
var jspOperation = ''; var selectionIds = []; //保存选中ids
var userDisRolesidarray; var selectionIdDepts = []; //保存选中用户机构主键
var selectConfig = { var _deptTree;
'.chosen-select': {}, var setting = {
'.chosen-select-deselect': { data: {
allow_single_deselect: true simpleData: {
}, enable: true
'.chosen-select-no-single': { }
disable_search_threshold: 10 }, callback: {onClick: zTreeOnClick }
}, };
'.chosen-select-no-results': { function zTreeOnClick(event, treeId, treeNode) {
no_results_text: 'Oops, nothing found!'
}, if(treeNode.id != '0'){
'.chosen-select-width': { $("#search_parentid").val(treeNode.id);
width: "95%" }else{
$("#search_parentid").val("");
} }
refreshAddTable();
}; };
jQuery(document).ready(function($){ //折叠ibox
$('#collapes_linkopen').click(function () {
_deptTree.expandAll(true);
$(this).hide();
$("#collapes_linkclose").show();
});
parent.axgetXiaoyao("${ctx}/backstage/admin/tenant/listall",null,false,function (data) { $("#collapes_linkclose").click(function () {
if(data.code == "OK"){ _deptTree.expandAll(false);
$.each(data.data,function(name,anArray) {
console.log(anArray) $(this).hide();
$("#userDisId").append("<option value='" + anArray.id + "'>" + anArray.name + "</option>"); $("#collapes_linkopen").show();
}); });
$("#userDisId").chosen(selectConfig[$("#userDisId")]); //选中事件操作数组
var union = function(array,ids){
$.each(ids, function (i, id) {
if($.inArray(id,array)==-1){
array[array.length] = id;
} }
}); });
return array;
};
//取消选中事件操作数组
var difference = function(array,ids){
$.each(ids, function (i, id) {
var index = $.inArray(id,array);
if(index!=-1){
array.splice(index, 1);
}
});
return array;
};
var _ = {"union":union,"difference":difference};
$(document).ready(function () {
initDepartTree()
$('.i-checks').iCheck({
checkboxClass: 'icheckbox_square-green',
radioClass: 'iradio_square-green',
});
var selectConfig = {
'.chosen-select': {},
'.chosen-select-deselect': {
allow_single_deselect: true
},
'.chosen-select-no-single': {
disable_search_threshold: 10
},
'.chosen-select-no-results': {
no_results_text: 'Oops, nothing found!'
},
'.chosen-select-width': {
width: "95%"
}
};
//审批角色 //审批角色
parent.axgetXiaoyao('${ctx}/backstage/oa/candidate/list',null,false , function(result) { parent.axgetXiaoyao('${ctx}/backstage/oa/candidate/list',null,false , function(result) {
@ -190,83 +261,190 @@
} }
}); });
_tableAddListUserdistionary = $('#Userdistionary_add_list').bootstrapTable({
url: '${ctx}/backstage/oa/userdistionary/listnoin' ,
pagination: true, //是否显示分页(*
pageNumber:1, //初始化加载第一页,默认第一页
pageSize: 20, //每页的记录行数(*
sidePagination: "server",
idField:"id",
height: "100%",
striped:true, //奇偶行渐色表
clickToSelect:true, //是否选中
maintainSelected:true,
pageList: [20, 50, 100],
ajaxOptions:{
headers: {"logintoken": parent.getLoginToken()}
},
queryParams: function queryParams(params) {
return {
sortorder: params.order,
sortname: params.sort,
pagesize: params.limit,
start: (params.offset / params.limit) + 1,
parentid: $("#search_parentid").val(),
userDisId: $("#userDisId").val()
};
},
responseHandler:function(res){
//表格分页之前处理多选框数据
$.each(res.data.records, function (i, row) {
row.checkStatus = $.inArray(row.id, selectionIds) != -1; //判断当前行的数据id是否存在与选中的数组存在则将多选框状态变为true
});
return{"rows": res.data.records, "total": res.data.total};
},
columns: [
parent.axgetXiaoyao("${ctx}/backstage/admin/user/toolsbarOperation?" + "resourceid=${resourceid}",null,true , { width:150,valign: "middle",field:'username',title:'用户名',sortable:true},
function(data){ { width:150,valign: "middle",field:'loginname',title:'登录账号',sortable:true},
if(data.code == "OK"){ { width:150,valign: "middle",field:'departname',title:'所属部门',sortable:true},
jsptoolbar = data.data.Jsptoolbar; { width:150,valign: "middle",field:'candidatename',title:'审批权限组',sortable:false},
jspOperation = data.data.JspOperation; {
$("#_mybutton").empty(); width:200,
$(jsptoolbar).each(function (i, toolbar) { field: 'id',
if(toolbar.methodid != '104'){ title: '操作',
$("#_mybutton").append('<button class="btn sbold ' + toolbar.img + '" onClick="' + toolbar.actionmethod + '(\'${resourceid}' + toolbar.methodid + '\')"> ' + ' <i class="fa ' + toolbar.methodkey + '"></i> ' + toolbar.text + '</button>&nbsp'); formatter:function(value,oData,index) {
} var listOperation = "<a href=\"javascript:void(0)\" onclick=\"setCandiRole('" + index +"')\" class=\"btn btn-primary btn-xs\" ><i class=\"fa fa-pencil\"></i> 设置审批组 </a>&nbsp;&nbsp;&nbsp;&nbsp;";
});
_tableListUserdistionary = $('#Userdistionary_list').bootstrapTable({
url: '${ctx}/backstage/oa/userdistionary/list' , return listOperation;
pagination: true, //是否显示分页(* }
pageNumber:1, //初始化加载第一页,默认第一页 }
pageSize: 10, //每页的记录行数(* ]
sidePagination: "server", });
height: "100%",
pageList: [10, 25, 50], //绑定选中事件、取消事件、全部选中、全部取消
ajaxOptions:{ _tableAddListUserdistionary.on('check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table', function (e, rows) {
headers: {"logintoken": parent.getLoginToken()} var ids = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {
}, return row.id;
queryParams: function queryParams(params) { });
return { var idDepts = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {
sortorder: params.order, return row.id + "_" + row.departmentId;
sortname: params.sort, });
pagesize: params.limit, func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference';
start: (params.offset / params.limit) + 1,
userDisId:$("#userDisId").val() , selectionIds = _[func](selectionIds, ids);
search_username:'{"value":"' + $("#search_username").val() + '","op":"equal","type":"string"}',
userDisRolesid: $("#userDisRolesid").val() selectionIdDepts = _[func](selectionIdDepts, idDepts);
};
}, });
responseHandler:function(res){
return{"rows": res.data.records, "total": res.data.total};
}, $("#Userdistionaryform").attr("action","${ctx}/backstage/oa/userdistionary/save");
columns: [ var form1 = $('#Userdistionaryform');
{checkbox: true}, var error1 = $('.alert-danger', form1);
{ width:150,valign: "middle",field:'username',title:'用户名',sortable:false}, form1.validate({
{ width:150,valign: "middle",field:'loginname',title:'登录账号',sortable:false}, debug: true,
{ width:150,valign: "middle",field:'departname',title:'所属部门',sortable:false}, errorElement: 'span',
{ width:150,valign: "middle",field:'candidatename',title:'审批权限组',sortable:false}, errorClass: 'help-block help-block-error',
{ focusInvalid: false,
width:200, ignore: ":hidden",
field: 'id', errorPlacement: function (error, element) {
title: '操作', if (element.parent(".input-group").size() > 0) {
formatter:function(value,oData,index) { error.insertAfter(element.parent(".input-group"));
var listOperation = "<a href=\"javascript:void(0)\" onclick=\"setCandiRole('" + index +"')\" class=\"btn btn-primary btn-xs\" ><i class=\"fa fa-pencil\"></i> 设置审批组 </a>&nbsp;&nbsp;&nbsp;&nbsp;"; } else if (element.attr("data-error-container")) {
error.appendTo(element.attr("data-error-container"));
} else if (element.parents('.radio-list').size() > 0) {
return listOperation; error.appendTo(element.parents('.radio-list').attr("data-error-container"));
} } else if (element.parents('.radio-inline').size() > 0) {
} error.appendTo(element.parents('.radio-inline').attr("data-error-container"));
] } else if (element.parents('.checkbox-list').size() > 0) {
}); error.appendTo(element.parents('.checkbox-list').attr("data-error-container"));
} else if (element.parents('.checkbox-inline').size() > 0) {
error.appendTo(element.parents('.checkbox-inline').attr("data-error-container"));
} else {
error.insertAfter(element);
}
},
highlight: function (element) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function (element) {
$(element).closest('.form-group').removeClass('has-error');
},
success: function (label) {
label.closest('.form-group').removeClass('has-error');
},
submitHandler: function (){
if(selectionIdDepts.length < 1){
parent.toastr.success("选择要添加的用户。");
return;
} }
$("#deptlist").val(selectionIdDepts.join());
parent.layer.load();
$("#savebutton").addClass('disabled');
$("#Userdistionaryform").ajaxSubmit({
headers:{"logintoken": parent.getLoginToken()},
success:function(data){
parent.layer.closeAll('loading');
if(data.code == "OK"){
parent.toastr.success(data.message);
rolesback();
}else if(data.code == "ERRORM"){
$.each(data.message,function(name,anArray) {
$.each(anArray,function(n,value){
$("#" + n).closest('.form-group').addClass('has-error');
$("<span>").attr( "id", n + "-error" ).addClass("help-block help-block-error").html(value).insertAfter($("#" + n));
});
});
}else{
$("#savebutton").addClass('removeClass');
parent.toastr.error(data.message);
}
}
});
} }
); });
}); });
function getIdSelections() { function saveUserCandidateForm(){
return $.map(_tableListUserdistionary.bootstrapTable('getSelections'), function(row) {
return row.userdistionaryid var chk_value =[];//定义一个数组
$('input[name="userCandRolesid"]:checked').each(function(){//遍历每一个名字为nodes的复选框其中选中的执行函数
chk_value.push($(this).val());//将选中的值添加到数组chk_value中
}); });
}
function _useradd(jframeid){
parent._xiaoyaoOpenMenuTab('${ctx}/backstage/oa/userdistionaryHtml/toSave',"添加人员",jframeid + '_add');
}
var selectId = chk_value.join(",");
//审批角色
parent.axpostXiaoyao('${ctx}/backstage/oa/userdistionary/saveupdate',
{
userid:$("#fromUserId").val(),
userdeptid:$("#fromDeptId").val(),
fromUserTyped:1,
fromUserDisRolesid:selectId
},
false ,
function(result) {
if(result.code == 'OK'){
parent.toastr.success(result.message);
refreshAddTable();
}else{
parent.toastr.error(result.message);
}
$("#modal-candidate-user-role").modal("hide");
});
}
function setCandiRole(index){ function setCandiRole(index){
$("#modal-candidate-user-role").modal(); $("#modal-candidate-user-role").modal();
$("#modal-candidate-user-role").css("z-index",(parent.getMaxZIndex() + 1)); $("#modal-candidate-user-role").css("z-index",(parent.getMaxZIndex() + 1));
var getdata = _tableListUserdistionary.bootstrapTable('getData'); var getdata = _tableAddListUserdistionary.bootstrapTable('getData');
var task = getdata[index]; var task = getdata[index];
$("#fromUserId").val(task.id);
$("#fromDeptId").val(task.departid);
console.log(task)
console.log("--------------------------------")
//查询当前人员已经设置的角色 //查询当前人员已经设置的角色
var candidateid = task.candidateid; var candidateid = task.candidateid;
var candidateidArray = candidateid.split(","); var candidateidArray = candidateid.split(",");
@ -306,119 +484,24 @@
$("#fromUserNameDiv").html("姓名:" + task.username); $("#fromUserNameDiv").html("姓名:" + task.username);
} }
function initDepartTree() {
function setCandiDept(index){ if(undefined != _deptTree){
_deptTree.destroy();
var getdata = _tableListUserdistionary.bootstrapTable('getData'); }
parent.axgetXiaoyao("${ctx}/backstage/admin/department/showDeptJsTree",null,true ,function (data) {
var task = getdata[index]; _deptTree = $.fn.zTree.init($("#departZtreeUl"),setting, data);
//查询当前人员已经设置的角色 _deptTree.expandAll(true);
var candidateid = task.candidateid;
var username = task.username;
var userid = task.id;
var usertype = task.userOsudType;
var userdistionaryid = task.userdistionaryid;
parent._xiaoyaoOpenMenuTab('${ctx}/backstage/oa/userdistionaryHtml/tolinkdept?candidateid=' + candidateid + "&username=" + username + "&userid=" + userid + "&usertype=" + usertype + "&userdistionaryid=" + userdistionaryid,"设置分管部门",userdistionaryid + '_add');
}
function t_delete(str){
parent.layer.closeAll('loading');
parent.axgetXiaoyao('${ctx}/backstage/oa/userdistionary/delmore' , {id:str},false, function(data){
parent.layer.closeAll('loading');
if(data.code == "OK"){
swal(data.message, "您已经永久删除了这条信息。", "success");
refreshTable();
}else{
swal(data.message, "遇到未知错误!", "error");
}
});
}
function saveUserCandidateForm(){
var chk_value =[];//定义一个数组
$('input[name="userCandRolesid"]:checked').each(function(){//遍历每一个名字为nodes的复选框其中选中的执行函数
chk_value.push($(this).val());//将选中的值添加到数组chk_value中
}); });
var selectId = chk_value.join(",");
//审批角色
parent.axpostXiaoyao('${ctx}/backstage/oa/userdistionary/saveupdate',
{
fromUserDisId:$("#fromUserDisId").val(),
fromUserDisRolesid:selectId,
fromUserTyped:$("#fromUserTyped").val()
},
false ,
function(result) {
if(result.code == 'OK'){
var userDisRolesidarray = result.data;
var posthtml = "";
$(userDisRolesidarray).each(function(idx,item){
posthtml = posthtml + '<option value="' + item.id + '" hassubinfo="true">' + item.candidatename + '</option>';
});
$("#userDisRolesid").append(posthtml);
$("#userDisRolesid").chosen(selectConfig[$("#userDisRolesid")]);
parent.toastr.success(result.message);
refreshTable();
}else{
parent.toastr.error(result.message);
}
$("#modal-candidate-user-role").modal("hide");
});
} }
function _deletebu(sourceid){ function refreshAddTable(){
var str = getIdSelections() + ""; _tableAddListUserdistionary.bootstrapTable('refreshOptions',{pageNumber:1});
var tempstr = str.split(",");
if (str.length > 0 && tempstr.length > 0) {
swal({
title: "您确定要删除这条信息吗",
text: "删除后将无法恢复,请谨慎操作!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "是的,我要删除!",
cancelButtonText: "让我再考虑一下…",
closeOnConfirm: false,
closeOnCancel: false
},
function (isConfirm) {
if (isConfirm) {
t_delete(str);
} else {
swal("已取消", "您取消了删除操作!", "error");
}
});
} else {
parent.toastr.error("至少选择一条数据操作");
}
}
function _delete(sourceid,str){
swal({
title: "您确定要删除这条信息吗",
text: "删除后将无法恢复,请谨慎操作!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "是的,我要删除!",
cancelButtonText: "让我再考虑一下…",
closeOnConfirm: false,
closeOnCancel: false
},
function (isConfirm) {
if (isConfirm) {
t_delete(str);
} else {
swal("已取消", "您取消了删除操作!", "error");
}
});
} }
function refreshTable(){ function rolesback() {
_tableListUserdistionary.bootstrapTable('refreshOptions',{pageNumber:1}); parent.closeItem(window.frameElement.name);
} }
</script>
</script> </body>
</html>

@ -636,7 +636,8 @@ public class FlowTaskController extends BaseController {
public ResultVo removeTask(HttpServletRequest request) { public ResultVo removeTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid"); String fromid = request.getParameter("fromid");
String taskid = request.getParameter("taskid"); String taskid = request.getParameter("taskid");
return flowTaskService.removeTask(fromid, taskid); String deptid = request.getParameter("deptid");
return flowTaskService.removeTask(fromid, taskid,deptid);
//return ResultVoUtil.success(); //return ResultVoUtil.success();
} }
@ -656,7 +657,8 @@ public class FlowTaskController extends BaseController {
public ResultVo historyTask(HttpServletRequest request) { public ResultVo historyTask(HttpServletRequest request) {
String fromid = request.getParameter("fromid"); String fromid = request.getParameter("fromid");
String taskid = request.getParameter("buessinessno"); String taskid = request.getParameter("buessinessno");
return flowTaskService.removeTask(fromid, taskid); String deptid = request.getParameter("deptid");
return flowTaskService.removeTask(fromid, taskid,deptid);
//return ResultVoUtil.success(); //return ResultVoUtil.success();
} }

@ -30,6 +30,8 @@ public class FlowApprove {
*/ */
private String failCauseId; private String failCauseId;
//公司主键,原机构主键
private String deptid;
/** /**
* *
*/ */

@ -22,7 +22,7 @@ public interface IFlowInstanceService {
* @param servicename * @param servicename
* @return * @return
*/ */
public boolean startProcessInstanceById(String procDefId, Map<String,Object> variables, HttpServletRequest request,String formid,String servicename); public boolean startProcessInstanceById(String procDefId, Map<String,Object> variables, HttpServletRequest request,String formid,String servicename,String deptid);
/** /**
* *
@ -32,5 +32,5 @@ public interface IFlowInstanceService {
* @param servicename * @param servicename
* @return * @return
*/ */
public boolean startProcessInstanceById(String procDefId,String userName,String createuser, String formid,String servicename); public boolean startProcessInstanceById(String procDefId,String userName,String createuser, String formid,String servicename,String deptid);
} }

@ -54,7 +54,7 @@ public interface IFlowTaskService {
* @param * @param
* @param processDefinition * @param processDefinition
*/ */
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition); public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition processDefinition,String deptid);
void sendMsg(OcrTaskchildPicture model, UserToken userToken); void sendMsg(OcrTaskchildPicture model, UserToken userToken);
void finishedList(PageUtils pageUtils, HttpServletRequest request); void finishedList(PageUtils pageUtils, HttpServletRequest request);
@ -142,7 +142,7 @@ public interface IFlowTaskService {
* *
* @param processInstanceId * @param processInstanceId
*/ */
public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId); public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId,String deptid);
/** /**
* *
@ -170,7 +170,7 @@ public interface IFlowTaskService {
* *
* @param fromid * @param fromid
*/ */
public ResultVo removeTask(String fromid, String taskid); public ResultVo removeTask(String fromid, String taskid,String deptid);
/** /**
* *

@ -45,7 +45,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
private UserViewapproeService userViewApproeService; private UserViewapproeService userViewApproeService;
@Override @Override
public boolean startProcessInstanceById(String procDefId, Map<String, Object> variables, HttpServletRequest request, String formid, String servicename) { public boolean startProcessInstanceById(String procDefId, Map<String, Object> variables, HttpServletRequest request, String formid, String servicename,String deptid) {
IFormCustomService iFormCustomService = null; IFormCustomService iFormCustomService = null;
if (StringUtils.isNotBlank(servicename)) { if (StringUtils.isNotBlank(servicename)) {
@ -87,7 +87,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processInstance = runtimeService.startProcessInstanceById(procDefId, businessKey, variables); processInstance = runtimeService.startProcessInstanceById(procDefId, businessKey, variables);
if (null != iFormCustomService) { if (null != iFormCustomService) {
FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId()); FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId(),deptid);
if (null == flowTaskCompleteVO) { if (null == flowTaskCompleteVO) {
throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey); throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey);
@ -128,7 +128,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
} }
@Override @Override
public boolean startProcessInstanceById(String procDefId, String userName, String createuser, String formid, String servicename) { public boolean startProcessInstanceById(String procDefId, String userName, String createuser, String formid, String servicename,String depti) {
IFormCustomService iFormCustomService = null; IFormCustomService iFormCustomService = null;
if (StringUtils.isNotBlank(servicename)) { if (StringUtils.isNotBlank(servicename)) {
@ -159,7 +159,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processInstance = runtimeService.startProcessInstanceById(procDefId, businessKey, variables); processInstance = runtimeService.startProcessInstanceById(procDefId, businessKey, variables);
if (null != iFormCustomService) { if (null != iFormCustomService) {
FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId()); FlowTaskCompleteVO flowTaskCompleteVO = flowTaskService.updateNowTaskAssignee(processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId(),depti);
if (null == flowTaskCompleteVO) { if (null == flowTaskCompleteVO) {
throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey); throw new ServiceException("没有审批人,请联系管理员,流程定义:" + businessKey);

@ -457,7 +457,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
variables.put("approvd", approve.getResult()); variables.put("approvd", approve.getResult());
OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(flowTaskInfo.getFormId())); OcrTaskchildPicture model = ocrTaskchildPictureService.getById(Long.parseLong(flowTaskInfo.getFormId()));
if (approve.getResult()) { if (approve.getResult()) {
disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken, approve); disposeSucceedTask(task, processDefinition, variables, model, flowTaskInfo.getFormId(), userToken, approve,approve.getDeptid());
} else { } else {
disposeFailureTask(task, flowTaskInfo.getFormId(), variables, approve); disposeFailureTask(task, flowTaskInfo.getFormId(), variables, approve);
@ -477,10 +477,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
/** /**
* *
*/ */
private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map<String, Object> variables, OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve) throws Exception { private void disposeSucceedTask(Task task, ProcessDefinition processDefinition, Map<String, Object> variables,
OcrTaskchildPicture model, String formId, UserToken userToken, FlowApprove approve,String deptid) throws Exception {
//进入下一个节点 //进入下一个节点
taskService.complete(task.getId(), variables); taskService.complete(task.getId(), variables);
updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition); updateAssignee(task.getProcessInstanceId(), task.getProcessDefinitionId(), processDefinition,deptid);
String category = processDefinition.getCategory(); String category = processDefinition.getCategory();
Category categoryDto = this.categoryService.getCategory(category); Category categoryDto = this.categoryService.getCategory(category);
IFormCustomService iFormCustomService = SpringUtils.getBean(categoryDto.getServicename()); IFormCustomService iFormCustomService = SpringUtils.getBean(categoryDto.getServicename());
@ -588,10 +589,10 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* @param processDefinition * @param processDefinition
*/ */
public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition public void updateAssignee(String processInstanceId, String processDefinitionId, ProcessDefinition
processDefinition) { processDefinition,String deptid) {
//如果是多个候选人或者是候选组,做任务拾取 //如果是多个候选人或者是候选组,做任务拾取
FlowTaskCompleteVO flowTaskCompleteVO = updateNowTaskAssignee(processInstanceId, processDefinitionId); FlowTaskCompleteVO flowTaskCompleteVO = updateNowTaskAssignee(processInstanceId, processDefinitionId,deptid);
if (null != flowTaskCompleteVO) { if (null != flowTaskCompleteVO) {
@ -680,7 +681,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
* *
* @param processInstanceId * @param processInstanceId
*/ */
public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId) { public FlowTaskCompleteVO updateNowTaskAssignee(String processInstanceId, String processDefinitionId,String deptid) {
FlowTaskCompleteVO flowTaskCompleteVO = null; FlowTaskCompleteVO flowTaskCompleteVO = null;
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId); BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
@ -717,7 +718,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
//发起人员登录账号 //发起人员登录账号
String startUserId = hi.getStartUserId(); String startUserId = hi.getStartUserId();
//通过候选组主键,查询审批人员信息,并自动拾取 //通过候选组主键,查询审批人员信息,并自动拾取
loginuser = candidateuserService.getClaimUser(startUserId, groupid); loginuser = candidateuserService.getClaimUser(startUserId, groupid,deptid);
if (StringUtils.isNotBlank(loginuser)) { if (StringUtils.isNotBlank(loginuser)) {
taskService.claim(task.getId(), loginuser); taskService.claim(task.getId(), loginuser);
} }
@ -1774,7 +1775,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
public ResultVo removeTask(String fromid, String taskid) { public ResultVo removeTask(String fromid, String taskid,String deptid) {
// 获取当前任务 // 获取当前任务
OcrTaskchildPicture ocrTaskchildPicture = this.ocrTaskchildPictureService.selectDtoById(Long.parseLong(fromid)); OcrTaskchildPicture ocrTaskchildPicture = this.ocrTaskchildPictureService.selectDtoById(Long.parseLong(fromid));
@ -1793,7 +1794,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
String historyProcessDefinitionId = terminatedInstances.get(0).getProcessDefinitionId(); String historyProcessDefinitionId = terminatedInstances.get(0).getProcessDefinitionId();
boolean isStart = iFlowInstanceService.startProcessInstanceById(historyProcessDefinitionId, ocrTaskchildPicture.getCreateusername(), boolean isStart = iFlowInstanceService.startProcessInstanceById(historyProcessDefinitionId, ocrTaskchildPicture.getCreateusername(),
ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename()); ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename(),deptid);
if (isStart) { if (isStart) {
ResultVoUtil.success(); ResultVoUtil.success();
@ -1813,7 +1814,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
Category category = this.categoryService.getById(ocrTaskchildPicture.getCategoryid()); Category category = this.categoryService.getById(ocrTaskchildPicture.getCategoryid());
boolean isStart = iFlowInstanceService.startProcessInstanceById(task.getProcessDefinitionId(), ocrTaskchildPicture.getCreateusername(), boolean isStart = iFlowInstanceService.startProcessInstanceById(task.getProcessDefinitionId(), ocrTaskchildPicture.getCreateusername(),
ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename()); ocrTaskchildPicture.getCreateuser(), ocrTaskchildPicture.getId().toString(), category.getServicename(),deptid);
if (isStart) { if (isStart) {
ResultVoUtil.success(); ResultVoUtil.success();

@ -74,7 +74,7 @@ public class UserdistionaryController extends BaseController{
Map<String,Object> queryMap = new HashMap<>(); Map<String,Object> queryMap = new HashMap<>();
if(StringUtils.isNotBlank(userDisId)){ if(StringUtils.isNotBlank(userDisId)){
queryMap.put("userDisId",userDisId);//.eq("osud.DEPTID_DIS",userDisId); queryMap.put("userDisId",userDisId);//.eq("osud.DEPTID_DIS",userDisId);
queryWrapper.eq("ut.TENANTID",userDisId);
} }
@ -110,7 +110,7 @@ public class UserdistionaryController extends BaseController{
Map<String,Object> queryMap = new HashMap<>(); Map<String,Object> queryMap = new HashMap<>();
if(StringUtils.isNotBlank(userDisId)){ if(StringUtils.isNotBlank(userDisId)){
queryMap.put("userDisId",userDisId);//.eq("osud.DEPTID_DIS",userDisId); queryMap.put("userDisId",userDisId);//.eq("osud.DEPTID_DIS",userDisId);
queryWrapper.eq("ut.TENANTID",userDisId);
} }
IPage<UserDistionaryVo> page = this.userdistionaryService.selectUserNoUd(paramterPage,queryWrapper,queryMap);; IPage<UserDistionaryVo> page = this.userdistionaryService.selectUserNoUd(paramterPage,queryWrapper,queryMap);;
@ -125,14 +125,12 @@ public class UserdistionaryController extends BaseController{
public ResultVo saveUserdistionary(HttpServletResponse response,HttpServletRequest request,Userdistionary tab) throws IOException{ public ResultVo saveUserdistionary(HttpServletResponse response,HttpServletRequest request,Userdistionary tab) throws IOException{
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
String userDisId = request.getParameter("userDisId");
//获取用户集合,以英文逗号分隔 //获取用户集合,以英文逗号分隔
String userlist = request.getParameter("userlist");
String deptlist = request.getParameter("deptlist"); String deptlist = request.getParameter("deptlist");
tab.setDeptidDis(Long.parseLong(userDisId));
this.userdistionaryService.saveUserdistionary(tab,userlist,deptlist); this.userdistionaryService.saveUserdistionary(tab,null,deptlist);
return ResultVoUtil.success(); return ResultVoUtil.success();
} }
@ -143,16 +141,35 @@ public class UserdistionaryController extends BaseController{
**/ **/
@PostMapping("/saveupdate") @PostMapping("/saveupdate")
public ResultVo saveupdate(HttpServletResponse response,HttpServletRequest request) throws IOException{ public ResultVo saveupdate(HttpServletResponse response,HttpServletRequest request) throws IOException{
String userid = request.getParameter("userid");
String userdeptid = request.getParameter("userdeptid");
//用户类型
String fromUserTyped = request.getParameter("fromUserTyped");
Userdistionary userdistionary = new Userdistionary();
userdistionary.setUsertype(Integer.parseInt(fromUserTyped));
userdistionary.setUserid(Long.parseLong(userid));
userdistionary.setDeptid(Long.parseLong(userdeptid));
//保存前,清除数据
this.userdistionaryService.deleteByUseridAndDeptid(userid,userdeptid);
this.userdistionaryService.save(userdistionary);
//1、保存到OA_USERDISTIONARY_T人员归属关系
UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request)); UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));
//审批人员关系主键 //当前关联角色主键,多个使用英文逗号分隔
String fromUserDisId = request.getParameter("fromUserDisId"); String[] candidateid = request.getParameterValues("userCandRolesid");
//2、保存到OA_CANDIDATEUSER_T候选组和人员关系
//审批角色主键,以英文逗号分隔 //审批角色主键,以英文逗号分隔
String fromUserDisRolesid = request.getParameter("fromUserDisRolesid"); String fromUserDisRolesid = request.getParameter("fromUserDisRolesid");
//用户类型
String fromUserTyped = request.getParameter("fromUserTyped");
this.userdistionaryService.saveUserdistionary(fromUserDisRolesid,fromUserDisId,fromUserTyped); this.userdistionaryService.saveUserdistionary(fromUserDisRolesid,userdistionary);
return ResultVoUtil.success(); return ResultVoUtil.success();
} }

@ -46,5 +46,5 @@ public interface CandidateuserService extends BaseService<Candidateuser> {
* @param candidateid * @param candidateid
* @return * @return
*/ */
public String getClaimUser(String startUserId,String candidateid); public String getClaimUser(String startUserId,String candidateid,String deptid);
} }

@ -62,10 +62,10 @@ public interface UserdistionaryService extends BaseService<Userdistionary> {
/** /**
* *
* @param candidateid ,使 * @param candidateid ,使
* @param userdisid * @param userdistionary
* @return * @return
*/ */
public boolean saveUserdistionary(String candidateid,String userdisid,String usertype); public boolean saveUserdistionary(String candidateid,Userdistionary userdistionary);
/** /**
@ -104,4 +104,11 @@ public interface UserdistionaryService extends BaseService<Userdistionary> {
*/ */
public int deleteByIdMore(String id); public int deleteByIdMore(String id);
/**
*
*
* @param userid
*
*/
public boolean deleteByUseridAndDeptid(String userid,String deptid);
} }

@ -116,7 +116,7 @@ public class CandidateuserServiceImpl extends BaseServiceImpl<CandidateuserMybat
* @param candidateid * @param candidateid
* @return * @return
*/ */
public String getClaimUser(String loginname,String candidateid){ public String getClaimUser(String loginname,String candidateid,String deptid){
//排除不在同一个店中的人员 //排除不在同一个店中的人员
List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(candidateid,loginname); List<Userdistionary> userdistionaryList = userdistionaryService.selectListByCandidateid(candidateid,loginname);
@ -135,14 +135,10 @@ public class CandidateuserServiceImpl extends BaseServiceImpl<CandidateuserMybat
//任务审批人员 //任务审批人员
User user = null; User user = null;
//通过登录账号查询所在审批关系插查询oa_userdistionary_t表
List<Userdistionary> list = userdistionaryService.selectListByLoginname(loginname);
//以店面作为主键
Map<Long,Userdistionary> userdistionaryMap = list.stream().collect(Collectors.toMap(Userdistionary::getDeptidDis, Function.identity(),(key1,key2) ->key2));
//如果候选组有多个人,优先确定是否在同一个店面, //如果候选组有多个人,优先确定是否在同一个店面,
for(Userdistionary userdistionary:userdistionaryList){ for(Userdistionary userdistionary:userdistionaryList){
if(null != userdistionaryMap.get(userdistionary.getDeptidDis())){ if(userdistionary.getDeptid().toString().equals(deptid)){
//如果user不为空说明有存在 //如果user不为空说明有存在
if(null != user){ if(null != user){
user = null; user = null;
@ -157,19 +153,6 @@ public class CandidateuserServiceImpl extends BaseServiceImpl<CandidateuserMybat
return user.getLoginname(); return user.getLoginname();
} }
//以部门作为主键
Map<Long,Userdistionary> userdistionaryDeptMap = list.stream().collect(Collectors.toMap(Userdistionary::getDeptid, Function.identity(),(key1,key2) ->key2));
//如果在同一个店面,也是多个人优先选同部门
for(Userdistionary userdistionary:userdistionaryList){
if(null != userdistionaryDeptMap.get(userdistionary.getDeptid())){
//如果user不为空说明有存在
if(null != user){
user = null;
break;
}
user = this.userService.selectDtoById(userdistionary.getUserid());
}
}
//如果user不为空说明只有一个审批人员 //如果user不为空说明只有一个审批人员
if(null != user){ if(null != user){
return user.getLoginname(); return user.getLoginname();

@ -36,24 +36,24 @@ public class UserdistionaryServiceImpl extends BaseServiceImpl<UserdistionaryMyb
/** /**
* *
* @param userdistionary * @param userdistionary
* @param userList ,使
* @return * @return
*/ */
@Override @Override
public boolean saveUserdistionary(Userdistionary userdistionary,String userList,String deptlist){ public boolean saveUserdistionary(Userdistionary userdistionary,String userListdd,String deptlist){
if(StringUtils.isNotBlank(deptlist)){
if(StringUtils.isNotBlank(userList)){
String[] ul = userList.split(",");
String[] dl = deptlist.split(","); String[] dl = deptlist.split(",");
List<Userdistionary> list = new ArrayList<>(); List<Userdistionary> list = new ArrayList<>();
for(int i = 0;i < ul.length;i++){ for(int i = 0;i < dl.length;i++){
Userdistionary userdistionary1 = new Userdistionary(); Userdistionary userdistionary1 = new Userdistionary();
userdistionary1.setUsertype(userdistionary.getUsertype()); userdistionary1.setUsertype(userdistionary.getUsertype());
userdistionary1.setUserid(Long.parseLong(ul[i]));
if(null != dl[i]){ if(null != dl[i]){
//userid_deptid //userid_deptid
String[] tempDl = dl[i].split("_"); String[] tempDl = dl[i].split("_");
userdistionary1.setUserid(Long.parseLong(tempDl[0]));
userdistionary1.setDeptid(Long.parseLong(tempDl[1])); userdistionary1.setDeptid(Long.parseLong(tempDl[1]));
} }
@ -97,34 +97,30 @@ public class UserdistionaryServiceImpl extends BaseServiceImpl<UserdistionaryMyb
/** /**
* *
* @param candidateid ,使 * @param candidateid ,使
* @param userdisid * @param userdistionary
* @return * @return
*/ */
@Override @Override
public boolean saveUserdistionary(String candidateid,String userdisid,String usertype){ public boolean saveUserdistionary(String candidateid,Userdistionary userdistionary){
if(StringUtils.isNotBlank(userdisid)){ //删除对应的关系
//删除对应的关系 candidateuserService.deleteByUserdisid(userdistionary.getId());
candidateuserService.deleteByUserdisid(Long.parseLong(userdisid));
if(StringUtils.isNotBlank(candidateid)){ if(StringUtils.isNotBlank(candidateid)){
String[] ul = candidateid.split(","); String[] ul = candidateid.split(",");
List<Candidateuser> list = new ArrayList<>(); List<Candidateuser> list = new ArrayList<>();
for(String cauid:ul){ for(String cauid:ul){
Candidateuser candidateuser = new Candidateuser();
candidateuser.setCandidateid(Long.parseLong(cauid));
candidateuser.setUserdisid(Long.parseLong(userdisid));
list.add(candidateuser);
}
this.candidateuserService.saveBatch(list); Candidateuser candidateuser = new Candidateuser();
candidateuser.setCandidateid(Long.parseLong(cauid));
candidateuser.setUserdisid(userdistionary.getId());
list.add(candidateuser);
} }
return this.candidateuserService.saveBatch(list);
} }
Userdistionary userdistionary = this.selectDtoById(Long.parseLong(userdisid));
userdistionary.setUsertype(Integer.parseInt(usertype));
return this.updateById(userdistionary);
return false;
} }
/** /**
@ -204,7 +200,32 @@ public class UserdistionaryServiceImpl extends BaseServiceImpl<UserdistionaryMyb
query.ne("u.LOGINNAME","admin"); query.ne("u.LOGINNAME","admin");
query.ne("u.LOGINNAME","zhangyong"); query.ne("u.LOGINNAME","zhangyong");
return this.userdistionarymybatisdao.selectUserNoUd(page,query,queryMap); IPage<UserDistionaryVo> iPage = this.userdistionarymybatisdao.selectUserNoUd(page,query,queryMap);
for(UserDistionaryVo userDistionaryVo:iPage.getRecords()){
//查询用户所在的审批组
List<Candidateuser> candidateuserList = candidateuserService.selectList(null,userDistionaryVo.getUserdistionaryid());
StringBuffer stringBuffer = new StringBuffer();
StringBuffer stringBufferId = new StringBuffer();
//便利审批组
for(Candidateuser candidateuser:candidateuserList){
if(stringBuffer.length() > 0){
stringBuffer.append(",");
stringBuffer.append(candidateuser.getCandidate().getCandidatename());
stringBufferId.append(",");
stringBufferId.append(candidateuser.getCandidate().getId().toString());
}else{
stringBuffer.append(candidateuser.getCandidate().getCandidatename());
stringBufferId.append(candidateuser.getCandidate().getId().toString());
}
}
//审批组名称赋值
userDistionaryVo.setCandidatename(stringBuffer.toString());
userDistionaryVo.setCandidateid(stringBufferId.toString());
}
return iPage;
} }
/** /**
* *
@ -308,6 +329,29 @@ public class UserdistionaryServiceImpl extends BaseServiceImpl<UserdistionaryMyb
return userDistionaryVoIPage; return userDistionaryVoIPage;
} }
/**
*
*
* @param userid
*
*/
public boolean deleteByUseridAndDeptid(String userid,String deptid){
//1、查询oa_userdistionary_t表
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq("USERID",userid);
queryWrapper.eq("DEPTID",deptid);
List<Userdistionary> list = this.userdistionarymybatisdao.selectList(queryWrapper);
//2、通过oa_userdistionary_t表集合删除oa_candidateuser_t
for(Userdistionary userdistionary:list){
//删除对应的关系
candidateuserService.deleteByUserdisid(userdistionary.getId());
}
//3、删除oa_userdistionary_t表
return this.remove(queryWrapper);
}
@Override @Override
public int deleteByIdMore(String id) { public int deleteByIdMore(String id) {
int isok = 0; int isok = 0;

@ -91,6 +91,10 @@ public class UserDistionaryVo implements java.io.Serializable, BaseDto {
@JsonSerialize(using = ToStringSerializer.class) @JsonSerialize(using = ToStringSerializer.class)
private long userdistionaryid; private long userdistionaryid;
@Schema(description = "部门流水号流水号")
@JsonSerialize(using = ToStringSerializer.class)
private Long departid;
@Schema(description = "审批流节点是否跳过标志默认为0前端人员1后勤人员0审批流所有节点1跳过店长审批") @Schema(description = "审批流节点是否跳过标志默认为0前端人员1后勤人员0审批流所有节点1跳过店长审批")
@TableField(value="USERTYPE") @TableField(value="USERTYPE")
private Integer userOsudType; private Integer userOsudType;

@ -38,7 +38,7 @@ public interface OcrTaskchildPictureService extends BaseService<OcrTaskchildPict
* @param tenantId * @param tenantId
* @param sysUser * @param sysUser
*/ */
public void createTask(List<OcrPicture> ocrPictureList, String tenantId,UserToken sysUser); public void createTask(List<OcrPicture> ocrPictureList, String tenantId,UserToken sysUser,String deptid);
/** /**

@ -343,7 +343,7 @@ public class OcrCheckDuplicateServiceImpl extends ServiceImpl<OcrCheckDuplicateM
//4.开始更新 图片历史比对数据结果 //4.开始更新 图片历史比对数据结果
logger.info("查重任务:{},开启创建任务",checkDuplicateId); logger.info("查重任务:{},开启创建任务",checkDuplicateId);
if (CollectionUtils.isNotEmpty(ocrPictureList)) { if (CollectionUtils.isNotEmpty(ocrPictureList)) {
ocrTaskchildPictureService.createTask(ocrPictureList, ocrPictureList.get(0).getTenantId().toString(), sysUser); ocrTaskchildPictureService.createTask(ocrPictureList, ocrPictureList.get(0).getTenantId().toString(), sysUser,tenantId);
} }
return true; return true;
} }

@ -215,7 +215,8 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
null, null,
request, request,
ocrTaskchildPicture.getId().toString(), ocrTaskchildPicture.getId().toString(),
category.getServicename() category.getServicename(),
tenantId
); );
if (havePoint) { if (havePoint) {
@ -474,7 +475,8 @@ public class OcrPictureServiceImpl extends BaseServiceImpl<OcrPictureMybatisDao,
null, null,
request, request,
ocrTaskchildPicture.getId().toString(), ocrTaskchildPicture.getId().toString(),
category.getServicename() category.getServicename(),
tenantId
); );
//TODO 需要测试 //TODO 需要测试
ocrPicture.setTaskchildpictureid(ocrTaskchildPicture.getId().toString()); ocrPicture.setTaskchildpictureid(ocrTaskchildPicture.getId().toString());

@ -314,7 +314,7 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
} }
@Override @Override
public void createTask(List<OcrPicture> ocrPictureList, String tenantId, UserToken userToken) { public void createTask(List<OcrPicture> ocrPictureList, String tenantId, UserToken userToken,String deptid) {
if (null != ocrPictureList && !ocrPictureList.isEmpty()) { if (null != ocrPictureList && !ocrPictureList.isEmpty()) {
//用于标记相似度是否存在百分百的情况 //用于标记相似度是否存在百分百的情况
for (OcrPicture ocrPicture : ocrPictureList) { for (OcrPicture ocrPicture : ocrPictureList) {
@ -342,7 +342,8 @@ public class OcrTaskchildPictureServiceImpl extends BaseServiceImpl<OcrTaskchild
null, null,
request, request,
ocrTaskchildPicture.getId().toString(), ocrTaskchildPicture.getId().toString(),
department.getServicename() department.getServicename(),
deptid
); );
IFormCustomService iFormCustomService = SpringUtils.getBean(department.getServicename()); IFormCustomService iFormCustomService = SpringUtils.getBean(department.getServicename());
FlowModelVO formData = iFormCustomService.getForm(ocrTaskchildPicture.getId().toString()); FlowModelVO formData = iFormCustomService.getForm(ocrTaskchildPicture.getId().toString());

@ -30,7 +30,8 @@
<result column="PSDUPDATETIME" property="psdupdatetime" jdbcType="BIGINT"/> <result column="PSDUPDATETIME" property="psdupdatetime" jdbcType="BIGINT"/>
<result column="USERDISTIONARYID" property="userdistionaryid" jdbcType="BIGINT"/> <result column="USERDISTIONARYID" property="userdistionaryid" jdbcType="BIGINT"/>
<result column="userOsudType" property="userOsudType" jdbcType="INTEGER"/> <result column="userOsudType" property="userOsudType" jdbcType="INTEGER"/>
<collection property="deptlist" select="cn.jyjz.xiaoyao.admin.dataDao.DepartmentMybatisDao.selectDeptByUserid" javaType="java.util.ArrayList" column="ID"/> <result column="DEPARTID" property="departid" jdbcType="BIGINT"/>
<collection property="deptlist" select="cn.jyjz.xiaoyao.admin.dataDao.DepartmentMybatisDao.selectById" javaType="java.util.ArrayList" column="DEPARTID"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
ID AS id, ID AS id,
@ -95,10 +96,10 @@
u.UPDATETIME AS updatetime, u.UPDATETIME AS updatetime,
u.PSDUPDATETIME AS psdupdatetime, u.PSDUPDATETIME AS psdupdatetime,
osud.ID AS userdistionaryid, osud.ID AS userdistionaryid,
osud.USERTYPE AS userOsudType osud.USERTYPE AS userOsudType,
uo.DEPARTID AS departid
from S_USER_T u from S_USER_T u
RIGHT JOIN S_USEROBJECT_T uo ON uo.USERID = u.ID RIGHT JOIN S_USEROBJECT_T uo ON uo.USERID = u.ID
RIGHT JOIN s_user_tenant_t ut on ut.USERID = u.ID
RIGHT JOIN RIGHT JOIN
( (
SELECT MIN(osudtemp.ID),osudtemp.*,cosudtemp.CANDIDATEID AS CANDIDATEID FROM OA_USERDISTIONARY_T osudtemp SELECT MIN(osudtemp.ID),osudtemp.*,cosudtemp.CANDIDATEID AS CANDIDATEID FROM OA_USERDISTIONARY_T osudtemp
@ -107,7 +108,7 @@
where osudtemp.DEPTID_DIS = #{querymap.userDisId} where osudtemp.DEPTID_DIS = #{querymap.userDisId}
</if> </if>
GROUP BY osudtemp.USERID GROUP BY osudtemp.USERID
) osud ON osud.USERID = u.ID ) osud ON osud.USERID = u.ID and uo.DEPARTID = osud.DEPTID
<if test="null != querymap and null != querymap.userDisId"> <if test="null != querymap and null != querymap.userDisId">
and osud.DEPTID_DIS = #{querymap.userDisId} and osud.DEPTID_DIS = #{querymap.userDisId}
@ -137,16 +138,14 @@
u.CREATEDATE AS createdate, u.CREATEDATE AS createdate,
u.UPDATEUSER AS updateuser, u.UPDATEUSER AS updateuser,
u.UPDATETIME AS updatetime, u.UPDATETIME AS updatetime,
u.PSDUPDATETIME AS psdupdatetime u.PSDUPDATETIME AS psdupdatetime,
from S_USER_T u uo.DEPARTID AS departid,
RIGHT JOIN S_USEROBJECT_T uo ON uo.USERID = u.ID osudtemp.id AS userdistionaryid
RIGHT JOIN s_user_tenant_t ut on ut.USERID = u.ID from S_USER_T u,S_USEROBJECT_T uo
LEFT JOIN OA_USERDISTIONARY_T osudtemp ON osudtemp.USERID = uo.USERID AND osudtemp.DEPTID = uo.DEPARTID
${ew.customSqlSegment} ${ew.customSqlSegment}
and u.id not IN ( and uo.USERID = u.ID
SELECT osud.USERID FROM OA_USERDISTIONARY_T osud
<if test="null != querymap and null != querymap.userDisId">
where osud.DEPTID_DIS = #{querymap.userDisId}
</if>
)
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save