Compare commits

..

No commits in common. '99f5a6a122d2b7dae1dcf86ad8dd8c122928e283' and 'c41190735a8a657543e4a85b24d6161b071f7e15' have entirely different histories.

@ -1,23 +1,40 @@
package com.ruoyi.web.controller.system.count; package com.ruoyi.web.controller.system.count;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.text.StrPool; import cn.hutool.core.text.StrPool;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysPostVO;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.ObtainLastSixMonthsUtil; import com.ruoyi.common.utils.ObtainLastSixMonthsUtil;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.SysUserPost;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.apply.TdApplyInfoList; import com.ruoyi.system.domain.apply.TdApplyInfoList;
import com.ruoyi.system.domain.apply.dto.ApplyCountDTO; import com.ruoyi.system.domain.apply.dto.ApplyCountDTO;
import com.ruoyi.system.domain.apply.dto.ApplySmCountDTO; import com.ruoyi.system.domain.apply.dto.ApplySmCountDTO;
import com.ruoyi.system.domain.apply.dto.TdApplyInfoListDTO; import com.ruoyi.system.domain.check.TdCheckReport;
import com.ruoyi.system.domain.count.UserCountDTO;
import com.ruoyi.system.domain.count.UserSmCountDTO;
import com.ruoyi.system.service.*;
import com.ruoyi.system.service.apply.TdApplyInfoListService; import com.ruoyi.system.service.apply.TdApplyInfoListService;
import com.ruoyi.web.controller.manager.ApplyInfoListManager;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
@ -27,22 +44,27 @@ import java.util.stream.Collectors;
/** /**
* *
* @author Administrator
*/ */
@Controller @Controller
@RequestMapping("/system/usernum") @RequestMapping("/system/usernum")
public class SysUsernumController extends BaseController { public class SysUsernumController extends BaseController {
private String prefix = "system/usernum"; private String prefix = "system/usernum";
@Autowired
private ISysUserService userService;
private String prefixPre = "system/newdev/person"; @Autowired
private ISysPostService postService;
@Autowired
private ISysRoleService roleService;
@Autowired
private ISysDeptService deptService;
@Resource @Autowired
private TdApplyInfoListService applyInfoListService; private SysUserPostService sysUserPostService;
@Resource @Resource
private ApplyInfoListManager applyInfoListManager; private TdApplyInfoListService applyInfoListService;
@RequiresPermissions("system:usernum:view") @RequiresPermissions("system:usernum:view")
@GetMapping() @GetMapping()
@ -53,28 +75,66 @@ public class SysUsernumController extends BaseController {
/** /**
* *
* *
* @param applyInfoListDTO * @param user
* @return * @return
*/ */
@RequiresPermissions("system:usernum:list") @RequiresPermissions("system:usernum:list")
@PostMapping("/list") @PostMapping("/list")
@ResponseBody @ResponseBody
public TableDataInfo list(TdApplyInfoListDTO applyInfoListDTO) { public TableDataInfo list(SysUser user, SysDept dept) {
startPage(); startPage();
List<TdApplyInfoList> tdApplyInfoLists = applyInfoListManager.selectPersonList(applyInfoListDTO); List<SysUser> sysuser = new ArrayList<>();
return getDataTable(tdApplyInfoLists); List<SysUser> list = userService.selectUserGroupBydept(user);
List<SysDept> sysDepts = deptService.selectDeptList(dept);
for (SysDept sysDept : sysDepts) {
for (SysUser user1 : list) {
if (sysDept.getDeptId().equals(user1.getDept().getDeptId())) {
sysuser.add(user1);
}
}
}
return getDataTable(sysuser);
} }
/** /**
* *
*
* @param user
* @return
*/ */
@RequiresPermissions("system:usernum:detail") @Log(title = "用户统计", businessType = BusinessType.EXPORT)
@GetMapping("/detail/{applyId}") @RequiresPermissions("system:usernum:export")
public String detail(@PathVariable("applyId") String applyId, ModelMap mmap) { @PostMapping("/export")
TdApplyInfoListDTO applyInfoList = applyInfoListManager.getTdApplyInfoList(applyId); @ResponseBody
mmap.put("applyInfoList", applyInfoList); public AjaxResult export(SysUser user) {
List<SysUser> list = userService.selectUserList(user);
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.exportExcel(list, "用户统计数据");
}
return prefixPre + "/detail"; /**
*
*/
@RequiresPermissions("system:usernum:detail")
@GetMapping("/print/{deptId}")
public String print(@PathVariable("deptId") Long deptId, SysUser user, ModelMap mmap) {
List<SysUser> list = userService.lambdaQuery().eq(SysUser::getDeptId, deptId)
.eq(SysUser::getDelFlag, '0')
.ne(SysUser::getUserId, 1)
.list();
list.forEach(sysuser -> {
List<SysUserPost> postList = sysUserPostService.lambdaQuery().
eq(SysUserPost::getUserId, sysuser.getUserId()).list();
List<Long> postIds = postList.stream().map(SysUserPost::getPostId).collect(Collectors.toList());
if (CollUtil.isNotEmpty(postIds)) {
List<SysPost> sysPostList = postService.lambdaQuery().in(SysPost::getPostId, postIds).list();
sysuser.setPosts(Convert.toList(SysPostVO.class, sysPostList));
}
});
mmap.put("list", list);
mmap.put("dept", deptService.selectDeptById(deptId));
mmap.put("sysuser", getSysUser());
return prefix + "/print";
} }

@ -45,26 +45,30 @@
<div class="select-list"> <div class="select-list">
<ul> <ul>
<li> <li>
<label style="width: 80px">姓名</label> <label>单位名称</label>
<input type="text" name="name"/> <input type="text" name="deptName"/>
</li> </li>
<li> <li>
<label>身份证号:</label> <label>所属市州:</label>
<input type="text" name="cerno"/> <select id="City" name="framework" @change="getAreaList()" v-model="City">
</li> <option value="">请选择</option>
<li> <option v-for="option in CityList" :value="option.id" :key="option.id">
<label>联系方式:</label> {{ option.name }}
<input type="text" name="phone"/> </option>
</select>
</li> </li>
<li> <li>
状态:<select name="applyStatus" th:with="type=${@dict.getType('sys_user_apply_status')}"> <label>所属区县:</label>
<option value="">所有</option> <select id="Area" name="area" v-model="Area">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option> <option value="">请选择</option>
<option v-for="option in AreaList" :value="option.id" :key="option.id">
{{ option.name }}
</option>
</select> </select>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a> <a class="btn btn-warning btn-rounded btn-sm" onclick="resetPre()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li> </li>
</ul> </ul>
</div> </div>
@ -83,9 +87,10 @@
<th:block th:include="include :: echarts-js" /> <th:block th:include="include :: echarts-js" />
<script th:inline="javascript"> <script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('system:usernum:detail')}]]; var detailFlag = [[${@permission.hasPermi('system:usernum:detail')}]];
var applyState = [[${@dict.getType('sys_user_apply_status')}]]; var politics = [[${@dict.getType('sys_user_politics')}]];
var shemichengdu = [[${@dict.getType('sys_user_shemi')}]];
var examineState = [[${@dict.getType('sys_examine_state')}]];
var prefix = ctx + "system/usernum"; var prefix = ctx + "system/usernum";
var prefixPer = ctx + "system/personList";
let datas = [] let datas = []
$.ajax({ $.ajax({
url: ctx + "system/area/getAllList", url: ctx + "system/area/getAllList",
@ -115,96 +120,49 @@
function queryUserList() { function queryUserList() {
var options = { var options = {
url: prefix + "/list", url: prefix + "/list",
detailUrl:prefix + "/detail/{id}", createUrl: prefix + "/add",
modalName: "涉密人员", detail: prefix + "/detail/{id}",
type: 0, print: prefix + "/print/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "用户",
pageSize:'5',
columns: [ columns: [
{ {
field: 'applyId', field : 'dept.deptid',
title: 'id', title : '编号',
visible: false visible: false
}, },
{
field: 'name',
title: '姓名'
},
{
field: 'sex',
title: '性别'
},
{
field: 'nationality',
title: '民族',
},
{
field: 'maritalStatus',
title: '婚姻状况',
},
{
field: 'cerno',
title: '身份证号',
},
{ {
field: 'phone', field: 'dept.framework',
title: '联系方式', title: '所属市州',
}, formatter: function(value, row, index) {
{ return getCity(datas, value)
field: 'smPost', }
title: '已(拟)任涉密岗位',
},
{
field: 'smGrade',
title: '涉密等级',
}, },
{ {
title: '状态', field: 'dept.area',
align: 'center', title: '所属区县',
field: 'applyStatus',
formatter: function(value, row, index) { formatter: function(value, row, index) {
return $.table.selectDictLabel(applyState, value); return getCity(datas, value)
} }
}, },
{ {
field: 'createTime', field: 'dept.deptName',
title: '创建时间', title: '所在单位'
sortable: true
}, },
{ {
title: '操作', title: '操作',
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
if(row.remark == '1') { actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="print(\'' + row.deptId + '\')"><i class="fa fa-download"></i>打印</a> ');
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="handleDetail(\'' + row.applyId + '\')"><i class="fa fa-edit"></i>调岗记录</a> '); return actions.join(''); }
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.applyId + '\')"><i class="fa fa-edit"></i>查看</a> ');
}else{
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.applyId + '\')"><i class="fa fa-edit"></i>查看</a> ');
}
return actions.join('');
}
}] }]
}; };
$.table.init(options); $.table.init(options);
} }
function handleDetail(applyId){
table.set();
var _url = prefixPer + '/getApplyRecord/' + applyId;
var options = {
title:'调岗记录',
width: '900',
height: '900',
url: _url,
skin: 'layui-layer-gray',
btn: ['关闭'],
yes: function (index, layero) {
$.modal.close(index);
}
};
$.modal.openOptions(options);
}
/* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */ /* 自定义重置-表单重置/隐藏框/树节点选择色/搜索 */
function resetPre() { function resetPre() {
resetDate(); resetDate();

Loading…
Cancel
Save