ganzi-api/inventory-gov/src/main/java/com/rzyc/controller/PcPersonalController.java
2022-09-20 14:54:58 +08:00

2329 lines
86 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.rzyc.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.common.utils.*;
import com.common.utils.encryption.PasswdFactory;
import com.common.utils.jwt.JwtUtil;
import com.common.utils.model.*;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.rzyc.advice.LoginAuth;
import com.rzyc.bean.UserDepart;
import com.rzyc.bean.check.CheckList;
import com.rzyc.bean.check.CheckPerform;
import com.rzyc.bean.ent.CompaniesDto;
import com.rzyc.bean.index.AreaDangerNum;
import com.rzyc.bean.index.IndexDangerNum;
import com.rzyc.bean.index.IndexOrgInfo;
import com.rzyc.bean.index.StayFactor;
import com.rzyc.bean.index.dto.IndexEntPageDto;
import com.rzyc.bean.user.*;
import com.rzyc.bean.user.dutyTree.DutyTrees;
import com.rzyc.bean.user.task.TaskDetailDto;
import com.rzyc.bean.user.task.TaskPageDto;
import com.rzyc.bean.user.dto.*;
import com.rzyc.enums.*;
import com.rzyc.model.*;
import com.rzyc.model.ent.SysEnterprise;
import com.rzyc.model.log.SysLogs;
import com.rzyc.model.oth.OtheWareHouse;
import com.rzyc.model.personal.SysResource;
import com.rzyc.model.user.*;
import io.swagger.annotations.*;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.*;
/**
* PC个人中心
*/
@Api(tags = "PC个人中心")
@CrossOrigin("*")
@RequestMapping("pcPersonal")
@Controller
@Validated
public class PcPersonalController extends com.rzyc.controller.BaseController {
/**
* PC登录
* @param loginDto
* @return
* @throws Exception
*/
@ApiOperation(value = "PC登录", notes = "PC登录")
@PostMapping(value = "/pclogin")
@ResponseBody
public SingleResult<SysUser> pclogin(@Valid LoginDto loginDto)throws Exception{
SingleResult<SysUser> result = new SingleResult<>();
System.out.println("loginDto -> "+JSONArray.toJSONString(loginDto));
String sysusername = loginDto.getSysusername();
String syspassword = loginDto.getSyspassword();
String generateCode = request.getSession().getAttribute(constantsConfigure.getGenerateCodeKey())+"";
//验证码只能使用一次
request.getSession().removeAttribute(constantsConfigure.getGenerateCodeKey());
if(loginDto.getGenerateCode().equals(generateCode)){
SysUser sysUser = sysUserMapper.findBySysUserName(sysusername);
if(null != sysUser && StringUtils.isNotBlank(sysUser.getUsertype()) && sysUser.getUsertype().equals("政府用户")){
String ps = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysusername, syspassword);
if(sysUser.getSyspassword().equals(ps)){
sysUser.setSyspassword("");
//获取职务
sysUser = getUserDuty(sysUser);
//通过角色判断是否为安办 或者 部门管理员
if(StringUtils.isNotBlank(sysUser.getUserroles())){
Integer userRole = this.getUserRole(sysUser.getUserroles());
sysUser.setUserRole(userRole);
}
//获取用户令牌
String userToken = JwtUtil.createToken(sysUser.getSysuserid());
sysUser.setUserToken(userToken);
this.addLogAuth(sysUser.getSysuserid(),"登录","成功","");
result.setData(sysUser);
}else{
this.addLogAuth(sysUser.getSysuserid(),"登录","失败","");
result.setCode(Code.PASSWORD_ERROR.getCode());
result.setMessage(Message.PASSWORD_ERROR);
}
}else{
result.setCode(Code.PASSWORD_ERROR.getCode());
result.setMessage(Message.PASSWORD_ERROR);
}
}else{
result.setCode(Code.CODE_ERROT.getCode());
result.setMessage(Message.CODE_ERROT);
}
return result;
}
/**
* 用户功能项
* @param userId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "用户功能项", notes = "用户功能项")
@PostMapping(value = "/userResource/{userId}")
@ResponseBody
public MultiResult<SysResource> userResource(@Valid @PathVariable String userId)throws Exception{
MultiResult<SysResource> result = new MultiResult<>();
System.out.println("userId -> "+userId);
SysUser sysUser = sysUserMapper.findById(userId);
if(null != sysUser){
System.out.println(sysUser.getUserroles());
List<SysResource> resources = sysResourceMapper.findByRoleId(sysUser.getUserroles());
if(resources.size() > 0){
//获取树形结构
JSONArray resourcesTree = handleResouceTree(resources);
List<SysResource> sysResources = JSONArray.parseArray(JSONArray.toJSONString(resourcesTree),SysResource.class);
result.setData(sysResources);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 功能项树形结构
* @param resources
* @return
* @throws Exception
*/
private JSONArray handleResouceTree(List<SysResource> resources)throws Exception{
List<Map<String,Object>> data = new ArrayList<>();
for(SysResource resource : resources){
Map<String,String> metaMap = JSONArray.parseObject(resource.getMeta(),HashMap.class);
if(StringUtils.isBlank(resource.getParentId())){
resource.setParentId("");
}
Map<String,Object> entUserMap = new HashMap<String,Object>();
entUserMap.put("resourceId",resource.getResourceId());
entUserMap.put("name",resource.getName());
entUserMap.put("path",resource.getPath());
entUserMap.put("component",resource.getComponent());
entUserMap.put("metas",metaMap);
entUserMap.put("parentId",resource.getParentId());
entUserMap.put("redirect",resource.getRedirect());
entUserMap.put("hidden",resource.getHidden());
entUserMap.put("check",resource.getCheck());
data.add(entUserMap);
}
JSONArray result = TypeConversion.listToTree(JSONArray.parseArray(JSON.toJSONString(data)),"resourceId","parentId","children");
return result;
}
/**
* 用户信息
* @param userId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "用户信息", notes = "用户信息")
@PostMapping(value = "/userInfo/{userId}")
@ResponseBody
public SingleResult<SysUser> userInfo(@Valid @PathVariable String userId)throws Exception{
SingleResult<SysUser> result = new SingleResult<>();
SysUser sysUser = sysUserMapper.findById(userId);
if(null != sysUser){
//获取职务
sysUser = getUserDuty(sysUser);
//用户权限
userAuth(sysUser);
//数量信息
IndexNum indexNum = indexNum(sysUser.getSystitle(),sysUser.getSysuserid());
sysUser.setIndexNum(indexNum);
result.setData(sysUser);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 代办事项 履职异常 消息通知 数量
*/
private IndexNum indexNum(String listPerformId, String sysUserId)throws Exception{
IndexNum indexNum = new IndexNum();
Integer stayNum = 0;
Integer warnNum = 0;
Integer messageNum = 0;
//代办任务数量
Integer year = Calendar.getInstance().get(Calendar.YEAR);
Integer month = Calendar.getInstance().get(Calendar.MONTH) + 1;
Integer day = DateUtils.getMonthLastDay(year,month);
String startTime = year + "-" + month + "-" + day + " 23:59:59";
List<OATask> oaTasks = new ArrayList<>();
List<OATask> tasks = oaTaskMapper.findByListPerformId(listPerformId,year+"",startTime, TaskCompleteState.STAYCOMPLETE.getCompleteState());
if(tasks.size() > 0){
oaTasks = stayTask(tasks);
}
stayNum = oaTasks.size();
System.out.println("stayNum -> "+stayNum);
//履职异常数
String time = DateUtils.getNowDateTimeStr("yyyy");
List<ListFactor> listFactors = listFactorMapper.userListFactor(listPerformId,time);
handleFactorAlert(listFactors);
for (ListFactor listFactor : listFactors){
System.out.println("getFactorAlert -> "+listFactor.getFactorAlert());
if(2 == listFactor.getFactorAlert() || 3 == listFactor.getFactorAlert()){
warnNum++;
}
}
System.out.println("warnNum -> "+warnNum);
indexNum.setStayNum(stayNum);
indexNum.setWarnNum(warnNum);
indexNum.setMessageNum(messageNum);
return indexNum;
}
/**
* 待办事项
* @param stayMatterDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "待办事项", notes = "待办事项")
@PostMapping(value = "/stayMatter")
@ResponseBody
public MultiResult<OATask> stayMatter(@Valid StayMatterDto stayMatterDto)throws Exception{
MultiResult<OATask> result = new MultiResult<>();
System.out.println("stayMatterDto -> "+JSONArray.toJSONString(stayMatterDto));
SysUser sysUser = sysUserMapper.findById(stayMatterDto.getUserId());
if(null != sysUser){
Integer year = Calendar.getInstance().get(Calendar.YEAR);
Integer month = Calendar.getInstance().get(Calendar.MONTH) + 1;
Integer day = DateUtils.getMonthLastDay(year,month);
String startTime = year + "-" + month + "-" + day + " 23:59:59";
//任务完成状态
String completeState = "";
if(null != stayMatterDto.getCompleteState()){
completeState = taskCompleteStateMap.get(stayMatterDto.getCompleteState());
}else{
stayMatterDto.setCompleteState(TaskCompleteState.STAYCOMPLETE.getState());
completeState = TaskCompleteState.STAYCOMPLETE.getCompleteState();
}
//查询任务
List<OATask> tasks = oaTaskMapper.findByListPerformId(sysUser.getSystitle(),year+"",startTime,completeState);
if(tasks.size() > 0){
//如果选择未完成任务 处理一下
if(TaskCompleteState.STAYCOMPLETE.getState() == stayMatterDto.getCompleteState()){
tasks = stayTask(tasks);
}
//处理结束时间
for (OATask oaTask : tasks){
handleEndDate(oaTask);
}
result.setData(tasks);
}else{
result.setData(tasks);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 安全生产职责
* @param userId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "安全生产职责", notes = "安全生产职责")
@PostMapping(value = "/dutyList/{userId}")
@ResponseBody
public MultiResult<ListSafeWithBLOBs> dutyList(@Valid @PathVariable String userId)throws Exception{
MultiResult<ListSafeWithBLOBs> result = new MultiResult<>();
SysUser sysUser = sysUserMapper.selectByPrimaryKey(userId);
if(null != sysUser && StringUtils.isNotBlank(sysUser.getSystitle())){
List<ListSafeWithBLOBs> listSafes = listSafeMapper.userListSafe(sysUser.getSystitle());
if(null != listSafes && listSafes.size() > 0){
result.setData(listSafes);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 履职清单
* @param factorListDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "履职清单", notes = "履职清单")
@PostMapping(value = "/factorList")
@ResponseBody
public MultiResult<ListFactor> factorList(@Valid FactorListDto factorListDto)throws Exception{
MultiResult<ListFactor> result = new MultiResult<>();
SysUser sysUser = sysUserMapper.selectByPrimaryKey(factorListDto.getUserId());
if(null != sysUser && StringUtils.isNotBlank(sysUser.getSystitle())){
String time = factorListDto.getYear();
if(StringUtils.isBlank(time)){
time = DateUtils.getNowDateTimeStr("yyyy");
}
List<ListFactor> listFactors = listFactorMapper.userListFactor(sysUser.getSystitle(),time);
if(null != listFactors && listFactors.size() > 0){
//处理履职清单
handleFactorAlert(listFactors);
result.setData(listFactors);
}else{
result.setData(listFactors);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 履职进度
* @return
* @throws Exception
*/
@ApiOperation(value = "履职进度", notes = "履职进度")
@PostMapping(value = "/factorProgress")
@ResponseBody
public SingleResult<UserDepart> factorProgress(@Valid FactorProgressDto factorProgressDto)throws Exception{
SingleResult<UserDepart> result = new SingleResult<>();
SysUser sysUser = sysUserMapper.findById(factorProgressDto.getUserId());
if(null != sysUser){
//更新履职进度
getFactor(sysUser.getSystitle());
UserDepart userDepart = listPerformMapper.userPerform(sysUser.getSysuserid());
if(null != userDepart){
//当前年份
String nowYear = DateUtils.getNowDateTimeStr("yyyy");
String year = factorProgressDto.getYear();
if(StringUtils.isBlank(year)){
year = DateUtils.getNowDateTimeStr("yyyy");
}
//如果是当前年的进度 直接查询
if(nowYear.equals(year)){
if(StringUtils.isNotBlank(userDepart.getCompletion())){
userDepart.setCompletion(TypeConversion.StringToDouble(userDepart.getCompletion()).intValue()+"");
}else{
userDepart.setCompletion("0.0");
}
}else{
List<String> performIds = new ArrayList<>();
performIds.add(sysUser.getSystitle());
//岗位进度
Map<String, PerformProgress> progressMap = getPerformProgress(performIds,year);
PerformProgress performProgress = progressMap.get(userDepart.getListPerformId());
if(null != performProgress){
//获取岗位进度
Integer completion = performProgress.getAllprogress();
if(null == completion){
completion = 0;
}
userDepart.setCompletion(completion+"");
//需完成总数
userDepart.setTotal(performProgress.getTotal());
//已完成总数
userDepart.setFinishTotal(performProgress.getFinishTotal());
}else{
userDepart.setCompletion(0+"");
//需完成总数
userDepart.setTotal(0);
//已完成总数
userDepart.setFinishTotal(0);
}
}
}else{
userDepart.setCompletion("0.0");
}
System.out.println("userDepart -> "+userDepart);
result.setData(userDepart);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 下属履职情况
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "下属履职情况", notes = "下属履职情况")
@PostMapping(value = "/subordinatePerform")
@ResponseBody
public SingleResult<Pager<UserDepart>> subordinatePerform (@Valid SubordinatePerformDto subordinatePerformDto)throws Exception{
SingleResult<Pager<UserDepart>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(subordinatePerformDto.getCondition());
//处理年份
String year = subordinatePerformDto.getYear();
if(StringUtils.isBlank(year)){
year = DateUtils.getNowDateTimeStr("yyyy");
}
SysUser sysUser = sysUserMapper.selectByPrimaryKey(subordinatePerformDto.getUserId());
if(null != sysUser){
String listPerformId = sysUser.getSystitle();
listPerformId = TypeConversion.getCondition(listPerformId);
ListPerform listPerform = listPerformMapper.selectByPrimaryKey(sysUser.getSystitle());
if(null != listPerform && StringUtils.isNotBlank(listPerform.getViewJurisdiction())){
String[] strs = listPerform.getViewJurisdiction().split(",");
//可查看的下级职务
List<String> performIds = new ArrayList<>();
for (String str : strs){
if(!str.equals(listPerformId)){
performIds.add(str);
}
}
//分页
PageHelper.startPage(subordinatePerformDto.getPage(), subordinatePerformDto.getPageSize());
Page<UserDepart> page = (Page<UserDepart>)listPerformMapper.subordinatePerforms(performIds,condition);
Pager<UserDepart> pager = new Pager<>();
getDatePage(pager,page);
List<UserDepart> userDeparts = userDeparts = pager.getRows();
if(userDeparts.size() > 0){
handerPerform(userDeparts,year,performIds);
pager.setRows(userDeparts);
result.setData(pager);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 待办事项详情
* @param taskId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "待办事项详情", notes = "待办事项详情")
@PostMapping(value = "matterDetail/{taskId}")
@ResponseBody
public SingleResult<OATask> matterDetail(@Valid @PathVariable String taskId)throws Exception{
SingleResult<OATask> result = new SingleResult<>();
System.out.println("taskId -> "+taskId);
OATask oaTask = oaTaskMapper.findById(taskId);
if(null != oaTask){
//结束时间
handleEndDate(oaTask);
result.setData(oaTask);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 清单履职记录
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "清单履职记录", notes = "清单履职记录")
@PostMapping(value = "performRecord/{listFactorId}")
@ResponseBody
public MultiResult<ListDetailWithBLOBs> performRecord(@Valid @PathVariable String listFactorId)throws Exception{
MultiResult<ListDetailWithBLOBs> result = new MultiResult<>();
List<ListDetailWithBLOBs> listDetails = listDetailMapper.factorDetail(listFactorId,"");
if(listDetails.size() > 0){
result.setData(listDetails);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 履职记录详情
* @param listDetailId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "履职记录详情", notes = "履职记录详情")
@PostMapping(value = "listDetail/{listDetailId}")
@ResponseBody
public SingleResult<ListDetail> listDetail(@Valid @PathVariable String listDetailId)throws Exception{
SingleResult<ListDetail> result = new SingleResult<>();
ListDetail listDetail = listDetailMapper.findById(listDetailId);
if(null != listDetail){
//清单内容
ListFactor listFactor = listFactorMapper.selectByPrimaryKey(listDetail.getListfactorid());
if(null != listFactor){
listDetail.setFactorCnt(listFactor.getFactorcnt());
}
result.setData(listDetail);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 岗位列表
* @param listperformid
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "岗位列表", notes = "岗位列表")
@ApiImplicitParam(name = "listperformid",value = "岗位id传返回二级岗位 不传返回一级岗位")
@PostMapping(value = "performList")
@ResponseBody
public MultiResult<ListPerform> performList(String listperformid)throws Exception{
MultiResult<ListPerform> result = new MultiResult<>();
System.out.println("listperformid -> "+listperformid);
List<ListPerform> listPerforms = listPerformMapper.findBySupClassId(listperformid);
if(listPerforms.size() > 0){
result.setData(listPerforms);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 部门列表
* @param unitId
* @return
* @throws Exception
*/
@ApiOperation(value = "部门列表", notes = "部门列表")
@ApiImplicitParam(name = "unitId",value = "部门id传返回二级部门 不传返回一级部门")
@PostMapping(value = "unitList")
@ResponseBody
public MultiResult<SysUnit> unitList(String unitId)throws Exception{
MultiResult<SysUnit> result = new MultiResult<>();
List<SysUnit> units = sysUnitMapper.findByParentId(unitId);
if(units.size() > 0){
result.setData(units);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 政府用户分页
* @param userPageDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "政府用户分页", notes = "政府用户分页")
@PostMapping(value = "userPage")
@ResponseBody
public SingleResult<Pager<SysUser>> userPage(@Valid UserPageDto userPageDto)throws Exception{
SingleResult<Pager<SysUser>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(userPageDto.getCondition());
String userId = getUserId();
//判断查看用户类别
String unitType = UnitType.AREA.getType()+"";
SysUser sysUser = sysUserMapper.findById(userId);
if(null != sysUser){
SysUnit sysUnit = sysUnitMapper.selectByPrimaryKey(sysUser.getSysunitorentid());
if(null != sysUnit){
unitType = sysUnit.getUnittype();
}
}
//部门id
String unitId = sysUser.getSysunitorentid();
String areaCode = getUserArea(userId);
//分页
PageHelper.startPage(userPageDto.getPage(), userPageDto.getPageSize());
Page<SysUser> page = null;
//属地类型
String unitEnumType = UnitType.AREA.getType()+"";
//判断是属地还是部门
if(unitEnumType.equals(unitType)){
page = (Page<SysUser>)sysUserMapper.govUserList(condition,userPageDto.getUnitId(),userPageDto.getPerformId(),areaCode,userPageDto.getState());
}else{
page = (Page<SysUser>)sysUserMapper.unitUserList(condition,unitId,userPageDto.getState());
}
Pager<SysUser> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
handleUser(pager.getRows());
return result;
}
/**
* 部门树形结构
* @return
* @throws Exception
*/
@ApiOperation(value = "部门树形结构", notes = "部门树形结构")
@PostMapping(value = "unitTree")
@ResponseBody
public MultiResult<SysUnit> unitTree()throws Exception{
MultiResult<SysUnit> result = new MultiResult<>();
List<SysUnit> units = sysUnitMapper.findUnit();
if(units.size() > 0){
JSONArray unitJson = handleUnitTree(units);
List<SysUnit> sysUnits = JSONArray.parseArray(JSONArray.toJSONString(unitJson),SysUnit.class);
result.setData(sysUnits);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 部门树形结构
* @param sysUnits
* @return
* @throws Exception
*/
private JSONArray handleUnitTree(List<SysUnit> sysUnits)throws Exception{
List<Map<String,Object>> data = new ArrayList<>();
for(SysUnit unit : sysUnits){
if(StringUtils.isBlank(unit.getSuperiorunitid())){
unit.setSuperiorunitid("");
}
Map<String,Object> entUserMap = new HashMap<String,Object>();
entUserMap.put("sysunitid",unit.getSysunitid());
entUserMap.put("unitname",unit.getUnitname());
entUserMap.put("superiorunitid",unit.getSuperiorunitid());
data.add(entUserMap);
}
JSONArray result = TypeConversion.listToTree(JSONArray.parseArray(JSON.toJSONString(data)),"sysunitid","superiorunitid","children");
return result;
}
/**
* 岗位树形列表
* @return
* @throws Exception
*/
@ApiOperation(value = "岗位树形列表", notes = "岗位树形列表")
@PostMapping(value = "performTree")
@ResponseBody
public MultiResult<ListPerform> performTree()throws Exception{
MultiResult<ListPerform> result = new MultiResult<>();
List<ListPerform> listPerforms = listPerformMapper.findUnit();
if(listPerforms.size() > 0){
for(ListPerform listPerform : listPerforms){
if(StringUtils.isNotBlank(listPerform.getPerformName())){
listPerform.setPerformclassname(listPerform.getPerformclassname()+"("+listPerform.getPerformName()+")");
}
}
JSONArray performJson = handlePerformTree(listPerforms);
List<ListPerform> performs = JSONArray.parseArray(JSONArray.toJSONString(performJson),ListPerform.class);
result.setData(performs);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
@ApiOperation(value = "新增用户岗位树形列表", notes = "新增用户岗位树形列表")
@PostMapping(value = "performTreeUser")
@ResponseBody
public MultiResult<ListPerform> performTreeUser()throws Exception{
MultiResult<ListPerform> result = new MultiResult<>();
List<ListPerform> listPerforms = listPerformMapper.findAll();
if(listPerforms.size() > 0){
for(ListPerform listPerform : listPerforms){
if(StringUtils.isNotBlank(listPerform.getPerformName())){
listPerform.setPerformclassname(listPerform.getPerformclassname()+"("+listPerform.getPerformName()+")");
}
}
JSONArray performJson = handlePerformTree(listPerforms);
List<ListPerform> performs = JSONArray.parseArray(JSONArray.toJSONString(performJson),ListPerform.class);
result.setData(performs);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 岗位树形结构
* @param listPerforms
* @return
* @throws Exception
*/
private JSONArray handlePerformTree(List<ListPerform> listPerforms)throws Exception{
List<Map<String,Object>> data = new ArrayList<>();
for(ListPerform perform : listPerforms){
if(StringUtils.isBlank(perform.getSupclassid())){
perform.setSupclassid("");
}
Map<String,Object> entUserMap = new HashMap<String,Object>();
entUserMap.put("listperformid",perform.getListperformid());
entUserMap.put("performclassname",perform.getPerformclassname());
entUserMap.put("performName",perform.getPerformName());
entUserMap.put("supclassid",perform.getSupclassid());
data.add(entUserMap);
}
JSONArray result = TypeConversion.listToTree(JSONArray.parseArray(JSON.toJSONString(data)),"listperformid","supclassid","children");
return result;
}
/**
* 新增、修改用户信息
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "新增、修改用户信息", notes = "新增、修改用户信息")
@PostMapping(value = "changeUser")
@ResponseBody
public SingleResult<String> changeUser(@Valid ChangeUserDto changeUserDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
SysUser sysUser = new SysUser();
BeanUtils.copyProperties(sysUser,changeUserDto);
System.out.println("sysUser -> "+JSONArray.toJSONString(sysUser));
System.out.println("userId -> " + sysUser.getSysuserid());
//操作人
SysUser operator = getUser(changeUserDto.getUserId());
sysUser.setModifiedby(operator.getChinaname());
sysUser.setCreatedby(operator.getChinaname());
sysUser.setModifiedon(new Date());
sysUser.setCreatedon(new Date());
sysUser.setUsertype(UserType.GOV.getType());
//监管地区
sysUser.setSuperviseArea(changeUserDto.getSuperviseAreaId());
SysUser user = sysUserMapper.findById(sysUser.getSysuserid());
if(null != user){
//修改
if(!sysUser.getSyspassword().equals(user.getSyspassword())){
String passwd = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(), sysUser.getSyspassword());
sysUser.setSyspassword(passwd);
}else{
String passwd = PasswdFactory.decryptPasswd(sysUser.getSysuserid(),user.getSyspassword());
passwd = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(), passwd);
sysUser.setSyspassword(passwd);
}
//判断用户名是否存在
user = sysUserMapper.findOtherUesr(sysUser.getSysusername(),sysUser.getSysuserid());
if(null == user){
sysUserMapper.changeUser(sysUser);
//处理监管地区
changeSuperviseArea(sysUser.getSysuserid(),changeUserDto.getSuperviseAreaId(),operator.getChinaname());
}else{
result.setCode(Code.ERROR.getCode());
result.setMessage(Message.HAS_USERNAME);
}
}else{
//判断用户名是否存在
user = sysUserMapper.findBySysUserName(sysUser.getSysusername());
if(null == user){
//密码
String passwd = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(), sysUser.getSyspassword());
sysUser.setSyspassword(passwd);
sysUserMapper.insert(sysUser);
//处理监管地区
changeSuperviseArea(sysUser.getSysuserid(),changeUserDto.getSuperviseAreaId(),operator.getChinaname());
}else{
result.setCode(Code.ERROR.getCode());
result.setMessage(Message.HAS_USERNAME);
}
}
return result;
}
/**
* 处理监管地区
* @param userId
* @param superviseAreaId
* @throws Exception
*/
private void changeSuperviseArea(String userId,String superviseAreaId,String chinaname)throws Exception{
/*//删除用户监管地区
sysUserAreaMapper.delByUserId(userId);
if(StringUtils.isNotBlank(superviseAreaId)){
String[] strs = superviseAreaId.split(",");
for (String str : strs){
SysUserArea userArea = new SysUserArea();
userArea.setUserAreaId(RandomNumber.getUUid());
userArea.setUserId(userId);
userArea.setOrgcode(str);
userArea.setModified(chinaname);
userArea.setCreated(chinaname);
userArea.setModifyTime(new Date());
userArea.setCreateTime(new Date());
sysUserAreaMapper.insert(userArea);
}
}*/
}
/**
* 地区列表
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "地区列表", notes = "地区列表")
@PostMapping(value = "orgList")
@ResponseBody
public MultiResult<SysOrg> orgList()throws Exception{
MultiResult<SysOrg> result = new MultiResult<>();
List<SysOrg> sysOrgs = getSysOrg(constantsConfigure.getSuperiorOrgCode());
if(sysOrgs.size() > 0){
result.setData(sysOrgs);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 地区列表,查询包括新都区
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "地区列表包括一级", notes = "地区列表包括一级")
@PostMapping(value = "orgListHighLevel")
@ResponseBody
public MultiResult<SysOrg> orgListHighLevel()throws Exception{
MultiResult<SysOrg> result = new MultiResult<>();
List<SysOrg> sysOrgs = getSysOrgHighLevel();
if(sysOrgs.size() > 0){
result.setData(sysOrgs);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 履职记录
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "履职记录", notes = "履职记录")
@PostMapping(value = "performRecord")
@ResponseBody
public SingleResult<Pager<ListDetailWithBLOBs>> performRecord(@Valid PerformRecordDto performRecordDto)throws Exception{
SingleResult<Pager<ListDetailWithBLOBs>> result = new SingleResult<>();
SysUser sysUser = sysUserMapper.findById(performRecordDto.getUserId());
if(null != sysUser){
//未选择年份 则默认当前年份
String year = performRecordDto.getYear();
if(StringUtils.isBlank(year)){
year = DateUtils.getNowDateTimeStr("yyyy");
}
String performId = sysUser.getSystitle();
String condition = TypeConversion.getCondition(performRecordDto.getCondition());
PageHelper.startPage(performRecordDto.getPage(), performRecordDto.getPageSize());
Page<ListDetailWithBLOBs> page = (Page<ListDetailWithBLOBs>)listDetailMapper.performRecord(performId,condition,year);
Pager<ListDetailWithBLOBs> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 新增履职记录
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "新增履职记录", notes = "新增履职记录")
@PostMapping(value = "addPerformRecord")
@ResponseBody
public SingleResult<String> addPerformRecord(@Valid @RequestBody AddPerformRecordDto addPerformRecordDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
ListDetailWithBLOBs listDetail = new ListDetailWithBLOBs();
BeanUtils.copyProperties(listDetail,addPerformRecordDto);
//处理时间
listDetail.setStarttime(DateUtils.parseString2Date(addPerformRecordDto.getStartTime(),"yyyy-MM-dd"));
listDetail.setEndtime(DateUtils.parseString2Date(addPerformRecordDto.getEndTime(),"yyyy-MM-dd"));
listDetail.setFinishtime(listDetail.getEndtime());
String chinaName = getChinaName();
System.out.println("chinaName -> "+chinaName);
listDetail.setCreatedby(chinaName);
listDetail.setModifiedby(chinaName);
listDetail.setIsfinish(IsFinish.YES.getFinish());
listDetail.setDelState(DelState.NOT_DEL.getState());
listDetailMapper.insert(listDetail);
//清单id
String listfactorid = listDetail.getListfactorid();
//修改履职档案完成情况
factorProgres(listfactorid);
//如果是通过任务添加的履职信息 修改任务状态
String taskId = addPerformRecordDto.getTaskId();
if(StringUtils.isNotBlank(taskId)){
String[] strs = taskId.split(",");
List<String> taskIds = Arrays.asList(strs);
for (String str : taskIds){
OATask oaTask = oaTaskMapper.findById(str);
if(null != oaTask){
//修改任务状态
changeTaskState(oaTask,listfactorid);
}
}
}
System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail));
return result;
}
/**
* 角色列表
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "角色列表", notes = "角色列表")
@PostMapping(value = "roleList")
@ResponseBody
public MultiResult<SysRole> roleList()throws Exception{
MultiResult<SysRole> result = new MultiResult<>();
List<SysRole> sysRoles = sysRoleMapper.findAll();
if(sysRoles.size() > 0){
result.setData(sysRoles);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 修改履职记录
* @param addPerformRecordDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改履职记录", notes = "修改履职记录")
@PostMapping(value = "changePerformRecord")
@ResponseBody
public SingleResult<String> changePerformRecord(@Valid @RequestBody AddPerformRecordDto addPerformRecordDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
ListDetailWithBLOBs listDetail = new ListDetailWithBLOBs();
BeanUtils.copyProperties(listDetail,addPerformRecordDto);
//处理时间
listDetail.setStarttime(DateUtils.parseString2Date(addPerformRecordDto.getStartTime(),"yyyy-MM-dd"));
listDetail.setEndtime(DateUtils.parseString2Date(addPerformRecordDto.getEndTime(),"yyyy-MM-dd"));
listDetail.setFinishtime(listDetail.getEndtime());
String chinaName = getChinaName();
System.out.println("chinaName -> "+chinaName);
listDetail.setCreatedby(chinaName);
listDetail.setModifiedby(chinaName);
listDetail.setIsfinish(IsFinish.YES.getFinish());
listDetail.setDelState(DelState.NOT_DEL.getState());
listDetailMapper.changeListDetail(listDetail);
//清单id
String listfactorid = listDetail.getListfactorid();
//修改履职档案完成情况
factorProgres(listfactorid);
//如果是通过任务添加的履职信息
String taskId = addPerformRecordDto.getTaskId();
if(StringUtils.isNotBlank(taskId)){
String[] strs = taskId.split(",");
List<String> taskIds = Arrays.asList(strs);
for (String str : taskIds){
OATask oaTask = oaTaskMapper.findById(str);
if(null != oaTask){
//修改任务状态
changeTaskState(oaTask,listfactorid);
}
}
}
System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail));
return result;
}
/**
* 删除履职记录
* @param listdetailid
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "删除履职记录", notes = "删除履职记录")
@ApiImplicitParam(name = "listdetailid",value = "履职记录id 多个逗号隔开")
@PostMapping(value = "delPerformRecord/{listdetailid}")
@ResponseBody
public SingleResult<String> delPerformRecord(@PathVariable String listdetailid)throws Exception{
SingleResult<String> result = new SingleResult<>();
String[] strs = listdetailid.split(",");
List<String> listdetailids = Arrays.asList(strs);
for (String listIds : listdetailids){
ListDetailWithBLOBs listDetail = listDetailMapper.findById(listIds);
if(null != listDetail){
String chinaName = getChinaName();
listDetailMapper.changeSelState(listIds, DelState.DELETE.getState(),chinaName);
//修改履职档案完成情况
factorProgres(listDetail.getListfactorid());
}
}
return result;
}
/**
* 未完成的履职任务
* @param factorId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "未完成的履职任务", notes = "未完成的履职任务")
@ApiImplicitParam(name = "factorId",value = "清单id")
@PostMapping(value = "factorTask/{factorId}")
@ResponseBody
public MultiResult<OATask> factorTask(@PathVariable String factorId)throws Exception{
MultiResult<OATask> result = new MultiResult<>();
List<OATask> tasks = oaTaskMapper.notFinishTask(factorId);
if(tasks.size() > 0 ){
result.setData(tasks);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 部门分页
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "部门分页", notes = "部门分页")
@PostMapping(value = "unitPage")
@ResponseBody
public SingleResult<Pager<SysUnit>> unitPage(@Valid UnitPageDto unitPageDto)throws Exception{
SingleResult<Pager<SysUnit>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(unitPageDto.getCondition());
PageHelper.startPage(unitPageDto.getPage(), unitPageDto.getPageSize());
Page<SysUnit> page = (Page<SysUnit>)sysUnitMapper.findByName(condition,unitPageDto.getUnitId());
Pager<SysUnit> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
return result;
}
/**
* 修改新增部门
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改新增部门", notes = "修改新增部门")
@PostMapping(value = "changeUnit")
@ResponseBody
public SingleResult<String> changeUnit(@Valid ChangeUnitDto changeUnitDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
SysUnit sysUnit = new SysUnit();
BeanUtils.copyProperties(sysUnit,changeUnitDto);
//操作人
String chinaName = getChinaName();
sysUnit.setCreatedby(chinaName);
sysUnit.setModifiedby(chinaName);
sysUnit.setCreatedon(new Date());
sysUnit.setModifiedon(new Date());
//查重
SysUnit unit = sysUnitMapper.selectByPrimaryKey(sysUnit.getSysunitid());
if(null != unit){
sysUnitMapper.changeUnit(sysUnit);
}else{
//新增
sysUnitMapper.insert(sysUnit);
}
return result;
}
/**
* 角色分页
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "角色分页", notes = "角色分页")
@PostMapping(value = "rolePage")
@ResponseBody
public SingleResult<Pager<SysRole>> rolePage(@Valid RolePageDto rolePageDto)throws Exception{
SingleResult<Pager<SysRole>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(rolePageDto.getCondition());
PageHelper.startPage(rolePageDto.getPage(), rolePageDto.getPageSize());
Page<SysRole> page = (Page<SysRole>)sysRoleMapper.rolePage(condition);
Pager<SysRole> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
return result;
}
/**
* 修改新增角色
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改新增角色", notes = "修改新增角色")
@PostMapping(value = "changeRole")
@ResponseBody
public SingleResult<String> changeRole(@Valid ChangeRoleDto changeRoleDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
SysRole sysRole = new SysRole();
BeanUtils.copyProperties(sysRole,changeRoleDto);
//操作人
String chinaName = getChinaName();
sysRole.setCreatedby(chinaName);
sysRole.setModifiedby(chinaName);
sysRole.setCreatedon(new Date());
sysRole.setModifiedon(new Date());
SysRole role = sysRoleMapper.selectByPrimaryKey(sysRole.getSysroleid());
if(null != role){
sysRoleMapper.changeRole(sysRole);
}else{
sysRoleMapper.insert(sysRole);
}
return result;
}
/**
* 角色功能
* @param roleId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "角色功能", notes = "角色功能")
@PostMapping(value = "roleResource/{roleId}")
@ResponseBody
public MultiResult<SysResource> roleResource(@PathVariable String roleId)throws Exception{
MultiResult<SysResource> result = new MultiResult<>();
List<SysResource> resources = sysResourceMapper.roleResource(roleId);
if(resources.size() > 0){
for (SysResource resource : resources){
if(StringUtils.isBlank(resource.getRoleResourceId())){
resource.setCheck(2);
}
}
//获取树形结构
JSONArray resourcesTree = handleResouceTree(resources);
List<SysResource> sysResources = JSONArray.parseArray(JSONArray.toJSONString(resourcesTree),SysResource.class);
result.setData(sysResources);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 修改角色功能
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改角色功能", notes = "修改角色功能")
@PostMapping(value = "changeRoleResource")
@ResponseBody
public SingleResult<String> changeRoleResource(@Valid @RequestBody RoleResourceDto roleResourceDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
SysRole sysRole = sysRoleMapper.selectByPrimaryKey(roleResourceDto.getRoleId());
if(null != sysRole){
//先删除角色资源
sysRoleResourceMapper.delRoleId(roleResourceDto.getRoleId());
String[] strs = roleResourceDto.getResourceIds().split(",");
List<String> resourceIds = Arrays.asList(strs);
String chinaName = getChinaName();
if(null != resourceIds && resourceIds.size() > 0){
List<SysRoleResource> roleResources = new ArrayList<>();
for (String resourceId : resourceIds){
SysRoleResource roleResource = new SysRoleResource();
roleResource.setRoleResourceId(RandomNumber.getUUid());
roleResource.setRoleId(roleResourceDto.getRoleId());
roleResource.setResourceId(resourceId);
roleResource.setModified(chinaName);
roleResource.setCreated(chinaName);
roleResource.setModifyTime(new Date());
roleResource.setCreateTime(new Date());
roleResources.add(roleResource);
}
sysRoleResourceMapper.insertList(roleResources);
}
}
return result;
}
/**
* 岗位列表分页
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "岗位列表分页", notes = "岗位列表分页")
@PostMapping(value = "performPage")
@ResponseBody
public SingleResult<Pager<ListPerform>> performPage(@Valid PerformPageDto performPageDto, HttpServletRequest servletRequest)throws Exception{
SingleResult<Pager<ListPerform>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(performPageDto.getCondition());
String userId = performPageDto.getUserId();
String performId = "";
if(StringUtils.isNotBlank(performPageDto.getUserId())){
SysUser sysUser = sysUserMapper.findById(userId);
if(null != sysUser){
performId = sysUser.getSystitle();
}
}
PageHelper.startPage(performPageDto.getPage(), performPageDto.getPageSize());
Page<ListPerform> page = (Page<ListPerform>)listPerformMapper.performPage(performPageDto.getListperformid(),performId,condition);
Pager<ListPerform> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
return result;
}
/**
* 修改新增岗位
* @param changePerformDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改新增岗位", notes = "修改新增岗位")
@PostMapping(value = "changePerform")
@ResponseBody
public SingleResult<String> changePerform(@Valid ChangePerformDto changePerformDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
ListPerform listPerform = new ListPerform();
BeanUtils.copyProperties(listPerform,changePerformDto);
//操作人
String chinaName = getChinaName();
listPerform.setCreatedby(chinaName);
listPerform.setModifiedby(chinaName);
listPerform.setCreatedon(new Date());
listPerform.setModifiedon(new Date());
ListPerform perform = listPerformMapper.selectByPrimaryKey(listPerform.getListperformid());
if(null != perform){
//修改
listPerformMapper.changeListPerform(listPerform);
}else{
listPerform.setCompletion("0");
String performClassCode = "001";
if(StringUtils.isNotBlank(listPerform.getSupclassid())){
perform = listPerformMapper.selectByPrimaryKey(listPerform.getSupclassid());
performClassCode = GetSysOrganCode(perform);//生成
}
listPerform.setPerformclasscode(performClassCode);
//新增
listPerformMapper.insert(listPerform);
}
return result;
}
/**
* 岗位安全生产职责清单
* @param listperformId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "岗位安全生产职责清单", notes = "岗位安全生产职责清单")
@PostMapping(value = "performSafe")
@ResponseBody
public MultiResult<ListSafeWithBLOBs> performSafe(String listperformId)throws Exception{
MultiResult<ListSafeWithBLOBs> result = new MultiResult<>();
List<ListSafeWithBLOBs> listSafes = listSafeMapper.userListSafe(listperformId);
if(listSafes.size() > 0){
Integer sortId = 1;
for (ListSafeWithBLOBs listSafe : listSafes){
if(null == listSafe.getSortid()){
listSafe.setSortid(sortId);
}
sortId++;
}
result.setData(listSafes);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 修改新增安全生产职责清单
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改新增安全生产职责清单", notes = "修改新增安全生产职责清单")
@PostMapping(value = "changeListSafe")
@ResponseBody
public SingleResult<String> changeListSafe(@Valid ChangeSafeDto changeSafeDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
ListSafeWithBLOBs listSafe = new ListSafeWithBLOBs();
BeanUtils.copyProperties(listSafe,changeSafeDto);
//操作人
String chinaName = getChinaName();
listSafe.setCreatedby(chinaName);
listSafe.setModifiedby(chinaName);
listSafe.setCreatedon(new Date());
listSafe.setModifiedon(new Date());
listSafe.setChkbilldate(new Date());
ListSafe safe = listSafeMapper.selectByPrimaryKey(listSafe.getListsafeid());
if(null != safe){
listSafeMapper.changeSafe(listSafe);
}else{
listSafeMapper.insert(listSafe);
}
return result;
}
/**
* 删除安全生产职责清单
* @param listSafeId
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "删除安全生产职责清单", notes = "删除安全生产职责清单")
@ApiImplicitParam(name = "listSafeId",value = "安全生产职责清单id 多个逗号隔开",required = true)
@PostMapping(value = "delListSafe")
@ResponseBody
public SingleResult<String> delListSafe(String listSafeId)throws Exception{
SingleResult<String> result = new SingleResult<>();
String[] strs = listSafeId.split(",");
List<String> listSafeIds = Arrays.asList(strs);
if(null != listSafeIds && listSafeIds.size() > 0){
listSafeMapper.delInId(listSafeIds);
}
return result;
}
/**
* 岗位履职清单分页
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "岗位履职清单分页", notes = "岗位履职清单分页")
@PostMapping(value = "factorPage")
@ResponseBody
public SingleResult<Pager<ListFactor>> factorPage(@Valid FactorPageDto factorPageDto)throws Exception{
SingleResult<Pager<ListFactor>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(factorPageDto.getCondition());
PageHelper.startPage(factorPageDto.getPage(), factorPageDto.getPageSize());
Page<ListFactor> page = (Page<ListFactor>)listFactorMapper.factorPage(factorPageDto.getListPerformId(),factorPageDto.getYear(),condition,factorPageDto.getType());
Pager<ListFactor> pager = new Pager<>();
getDatePage(pager,page);
Integer start = (factorPageDto.getPage() - 1) * factorPageDto.getPageSize();
start += 1;
for (ListFactor listFactor : pager.getRows()){
listFactor.setListnum(start+"");
start++;
}
result.setData(pager);
return result;
}
/**
* 修改新增履职清单
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "修改新增履职清单", notes = "修改新增履职清单")
@PostMapping(value = "changeFactor")
@ResponseBody
public SingleResult<String> changeFactor(@Valid ChangeFactorDto changeFactorDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
ListFactor listFactor = new ListFactor();
BeanUtils.copyProperties(listFactor,changeFactorDto);
//操作人
String chinaName = getChinaName();
listFactor.setCreatedby(chinaName);
listFactor.setModifiedby(chinaName);
listFactor.setCreatedon(new Date());
listFactor.setModifiedon(new Date());
//数据初始
Integer sortId = listFactorMapper.findSortId(listFactor.getListperformid(),listFactor.getSysyear());
if(null == sortId){
sortId = 1;
}
sortId++;
listFactor.setIsfinish(IsFinish.NOT.getFinish());
listFactor.setFinishProgres(0+"");
listFactor.setListnum("1");
listFactor.setFactorIsFinish(IsFinish.NOT.getFinish());
listFactor.setSortid(sortId);
listFactor.setDelState(DelState.NOT_DEL.getState());
ListFactor factor = listFactorMapper.selectByPrimaryKey(listFactor.getListfactorid());
if(null != factor){
//先修改原清单为删除状态
listFactorMapper.delFactor(listFactor.getListfactorid());
//修改成功后 在重新新增一条履职清单
listFactor.setDelState(DelState.NOT_DEL.getState());
listFactor.setListfactorid(RandomNumber.getUUid());
listFactorMapper.insert(listFactor);
//修改
// listFactorMapper.changeFactor(listFactor);
}else{
listFactorMapper.insert(listFactor);
}
//添加任务
String userId = getUserId();
addFactorTask(listFactor,userId);
//修改总体履职进度
changeListPerForm(listFactor.getListperformid());
return result;
}
/**
* 删除履职清单
* @param delFactorDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "删除履职清单", notes = "删除履职清单")
@PostMapping(value = "delFactor")
@ResponseBody
public SingleResult<String> delFactor(@Valid DelFactorDto delFactorDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
String[] strs = delFactorDto.getListFactorId().split(",");
List<String> listFactorIds = Arrays.asList(strs);
if(null != listFactorIds && listFactorIds.size() > 0){
for (String factorId : listFactorIds){
listFactorMapper.delFactor(factorId);
}
}
//修改总体履职进度
changeListPerForm(delFactorDto.getListperformid());
return result;
}
/**
* 修改密码
* @return
* @throws Exception
*/
@ApiOperation(value = "修改密码", notes = "修改密码")
@PostMapping(value = "changePasswd")
@ResponseBody
public SingleResult<String> changePasswd(@Valid ChangePasswdDto changePasswdDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
SysUser sysUser = sysUserMapper.findById(changePasswdDto.getUserId());
if(null != sysUser){
if (changePasswdDto.getNowPasswd().matches(Constants.PASSWORD_REGULAR)){
String oldPasswd = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(),changePasswdDto.getOldPasswd());
if(sysUser.getSyspassword().equals(oldPasswd)){
String nowPasswd = PasswdFactory.encryptPasswd(sysUser.getSysuserid(), sysUser.getSysusername(),changePasswdDto.getNowPasswd());
sysUserMapper.changePassword(changePasswdDto.getUserId(),nowPasswd);
}else{
result.setCode(Code.PASSWORD_ERROR.getCode());
result.setMessage(Message.PASSWORD_ERROR);
}
}else{
result.setCode(Code.ERROR.getCode());
result.setMessage(Message.PASSWORD);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 履职类别详细
*
* */
@LoginAuth
@ApiOperation(value = "履职类别详细", notes = "履职类别详细")
@ApiImplicitParam(name = "listPerformId",value = "清单id")
@PostMapping(value = "listPerformDetail")
@ResponseBody
public SingleResult<String> listPerformDetail(String listPerformId)throws Exception{
SingleResult singleResult = new SingleResult();
ListPerform listPerform = listPerformMapper.selectListPerformDetail(listPerformId);
if (listPerform != null){
singleResult.setMessage(Message.SUCCESS);
singleResult.setCode(Code.SUCCESS.getCode());
singleResult.setData(listPerform);
}else {
singleResult.setMessage(Message.ERROR);
singleResult.setCode(Code.ERROR.getCode());
}
return singleResult;
}
/**
* 接收任务管理
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "接收任务管理", notes = "接收任务管理")
@PostMapping(value = "taskPage")
@ResponseBody
public SingleResult<Pager<OATask>> taskPage(@Valid TaskPageDto taskPageDto)throws Exception{
SingleResult<Pager<OATask>> result = new SingleResult<>();
List<String> sysUserIds = getReceiveTaskUserId(taskPageDto.getUserId());
if(sysUserIds.size() > 0){
String condition = TypeConversion.getCondition(taskPageDto.getCondition());
PageHelper.startPage(taskPageDto.getPage(), taskPageDto.getPageSize());
Page<OATask> page = (Page<OATask>)oaTaskMapper.receiveTaskPages(sysUserIds,condition,taskPageDto.getTasktype());
if(page.getTotal() > 0){
Pager<OATask> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 任务类型列表
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "任务类型列表", notes = "任务类型列表")
@PostMapping(value = "taskType")
@ResponseBody
public MultiResult<OaTaskType> taskType()throws Exception{
MultiResult<OaTaskType> result = new MultiResult<>();
List<OaTaskType> taskTypes = oaTaskTypeMapper.findBySortId();
if(taskTypes.size() > 0){
result.setData(taskTypes);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 任务详情
* @param taskDetailDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "任务详情", notes = "任务详情")
@PostMapping(value = "taskDetail")
@ResponseBody
public SingleResult<OATask> taskDetail(@Valid TaskDetailDto taskDetailDto)throws Exception{
SingleResult<OATask> result = new SingleResult<>();
OATask oaTask = oaTaskMapper.taskDetail(taskDetailDto.getTaskId(),taskDetailDto.getUserId());
if(null != oaTask){
//任务详情处理
getTaskDetail(oaTask,taskDetailDto.getUserId());
handleTaskDetail(oaTask);
result.setData(oaTask);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 认证日志分页
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "认证日志分页", notes = "认证日志分页")
@PostMapping("/authLog")
@ResponseBody
public SingleResult<Pager<SysLogAuth>> authLog(@Valid AuthLogDto authLogDto)throws Exception{
SingleResult<Pager<SysLogAuth>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(authLogDto.getCondition());
PageHelper.startPage(authLogDto.getPage(), authLogDto.getPageSize());
Page<SysLogAuth> page = (Page<SysLogAuth>)sysLogAuthMapper.findAll(condition);
if(page.getTotal() > 0){
Pager<SysLogAuth> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 操作日志
* @param authLogDto
* @return
* @throws Exception
*/
@LoginAuth
@ApiOperation(value = "操作日志", notes = "操作日志")
@PostMapping("/logsPage")
@ResponseBody
public SingleResult<Pager<SysLogs>> logsPage(@Valid AuthLogDto authLogDto)throws Exception{
SingleResult<Pager<SysLogs>> result = new SingleResult<>();
String condition = TypeConversion.getCondition(authLogDto.getCondition());
PageHelper.startPage(authLogDto.getPage(), authLogDto.getPageSize());
Page<SysLogs> page = (Page<SysLogs>)sysLogsMapper.findAll(condition);
if(page.getTotal() > 0){
Pager<SysLogs> pager = new Pager<>();
getDatePage(pager,page);
result.setData(pager);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 街道用户树形
* @return
* @throws Exception
*/
@ApiOperation(value = "街道用户树形", notes = "街道用户树形")
@PostMapping("/streetUser/{userId}")
@ResponseBody
public MultiResult<StreetUser> streetUser(@PathVariable String userId)throws Exception{
MultiResult<StreetUser> result = new MultiResult<>();
String areaCode = getUserArea(userId);
if(StringUtils.isNotBlank(areaCode)){
List<SysUser> users = sysUserMapper.findByArea(areaCode);
List<StreetUser> streetUsers = new ArrayList<>();
if(users.size() > 0){
//格式化
Map<String,List<SysUser>> userMap = new LinkedHashMap<>();
for (SysUser sysUser : users){
List<SysUser> sysUsers = new ArrayList<>();
String deptName = sysUser.getSuperName();
String postName = sysUser.getPerformClassName();
postName = postName.replaceAll(deptName,"");
postName = deptName + postName;
String key = sysUser.getSystitle()+","+postName;
if(userMap.containsKey(key)){
sysUsers = userMap.get(key);
}
sysUsers.add(sysUser);
userMap.put(key,sysUsers);
}
for (Map.Entry<String,List<SysUser>> entry : userMap.entrySet()){
StreetUser streetUser = new StreetUser();
String[] strs = entry.getKey().split(",");
streetUser.setListperformid(strs[0]);
streetUser.setPerformclassname(strs[1]);
streetUser.setUsers(entry.getValue());
streetUsers.add(streetUser);
}
}
result.setData(streetUsers);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 街道用户列表
* @return
* @throws Exception
*/
@ApiOperation(value = "街道用户列表", notes = "街道用户列表")
@PostMapping("/streetUserList")
@ResponseBody
@LoginAuth
public MultiResult<SysUser> streetUserList(@Valid StreetUserListDto streetUserListDto)throws Exception{
MultiResult<SysUser> result = new MultiResult<>();
String areaCode = getUserArea(streetUserListDto.getUserId());
if(StringUtils.isNotBlank(areaCode)){
String condition = TypeConversion.getCondition(streetUserListDto.getCondition());
List<SysUser> users = sysUserMapper.areaUser(areaCode,condition,streetUserListDto.getUserId());
if(users.size() > 0){
for (SysUser sysUser : users){
if(StringUtils.isNotBlank(sysUser.getPerformClassName())){
String deptName = sysUser.getPerformClassName();
sysUser.setChinaname(deptName+"-"+sysUser.getChinaname());
}
}
result.setData(users);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 修改责任树
* @return
* @throws Exception
*/
@ApiOperation(value = "修改责任树", notes = "修改责任树")
@PostMapping("/changeDutyTree")
@ResponseBody
@LoginAuth
@Transactional
public synchronized SingleResult<String> changeDutyTree(@Valid ChangeDutyTreeDto changeDutyTreeDto)throws Exception{
SingleResult<String> result = new SingleResult<>();
List<String> targetIds = new ArrayList<>();
//修改前企业id
if(2 == changeDutyTreeDto.getTargetType()){
List<DutyTree> trees = dutyTreeMapper.findByUserId(changeDutyTreeDto.getUserId());
if(null != trees && trees.size() > 0){
for (DutyTree dutyTree : trees){
targetIds.add(dutyTree.getTargetId());
}
}
}
//删除原来的信息
dutyTreeMapper.delByUserId(changeDutyTreeDto.getUserId(),changeDutyTreeDto.getTargetType());
if(StringUtils.isNotBlank(changeDutyTreeDto.getTargetId())){
String[] strs = changeDutyTreeDto.getTargetId().split(",");
String chinaName = getChinaName();
List<DutyTree> dutyTrees = new ArrayList<>();
for (String str : strs){
//记录被选择的企业id
if(2 == changeDutyTreeDto.getTargetType()){
targetIds.add(str);
}
DutyTree dutyTree = new DutyTree();
dutyTree.setDutyTreeId(RandomNumber.getUUid());
dutyTree.setTargetId(str);
dutyTree.setUserId(changeDutyTreeDto.getUserId());
dutyTree.setTargetType(changeDutyTreeDto.getTargetType());
dutyTree.setCreated(chinaName);
dutyTree.setModified(chinaName);
dutyTree.setCreateTime(new Date());
dutyTree.setModifyTime(new Date());
dutyTrees.add(dutyTree);
}
//批量插入
dutyTreeMapper.insertList(dutyTrees);
}
//选择企业不为空
if(targetIds.size() > 0){
sysEnterpriseMapper.changeChoiceNum(targetIds);
}
return result;
}
/**
* 在执行一次
* @param changeDutyTreeDto
*/
private void dutyTreeChange(ChangeDutyTreeDto changeDutyTreeDto){
try {
//删除原来的信息
dutyTreeMapper.delByUserId(changeDutyTreeDto.getUserId(),changeDutyTreeDto.getTargetType());
if(StringUtils.isNotBlank(changeDutyTreeDto.getTargetId())){
String[] strs = changeDutyTreeDto.getTargetId().split(",");
String chinaName = getChinaName();
List<DutyTree> dutyTrees = new ArrayList<>();
for (String str : strs){
DutyTree dutyTree = new DutyTree();
dutyTree.setDutyTreeId(RandomNumber.getUUid());
dutyTree.setTargetId(str);
dutyTree.setUserId(changeDutyTreeDto.getUserId());
dutyTree.setTargetType(changeDutyTreeDto.getTargetType());
dutyTree.setCreated(chinaName);
dutyTree.setModified(chinaName);
dutyTree.setCreateTime(new Date());
dutyTree.setModifyTime(new Date());
dutyTrees.add(dutyTree);
}
//批量插入
dutyTreeMapper.insertList(dutyTrees);
}
}catch (Exception e){
e.printStackTrace();
}
}
/**
* 责任树用户列表
* @return
* @throws Exception
*/
@ApiOperation(value = "责任树用户列表", notes = "责任树用户列表")
@GetMapping("/dutyTreeUser/{userId}")
@ApiImplicitParam(name = "userId",value = "用户id",required = true)
@ResponseBody
@LoginAuth
public MultiResult<SysUser> dutyTreeUser(@PathVariable String userId)throws Exception{
MultiResult<SysUser> result = new MultiResult<>();
List<SysUser> users = userTree(userId);
if(users.size() > 0){
result.setData(users);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 责任树企业列表
* @return
* @throws Exception
*/
@ApiOperation(value = "责任树企业列表", notes = "责任树企业列表")
@GetMapping("/dutyTreeEnt/{userId}")
@ApiImplicitParam(name = "userId",value = "用户id",required = true)
@ResponseBody
@LoginAuth
public MultiResult<SysEnterprise> dutyTreeEnt(@PathVariable String userId)throws Exception{
MultiResult<SysEnterprise> result = new MultiResult<>();
List<SysEnterprise> enterprises = entTree(userId);
if(enterprises.size() > 0){
result.setData(enterprises);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 用户责任树
* @return
* @throws Exception
*/
@ApiOperation(value = "用户责任树", notes = "用户责任树")
@GetMapping("/userDutyTree/{userId}")
@ApiImplicitParam(name = "userId",value = "用户id",required = true)
@ResponseBody
public MultiResult<DutyTrees> userDutyTree(@PathVariable String userId)throws Exception{
MultiResult<DutyTrees> result = new MultiResult<>();
SysUser sysUser = sysUserMapper.findById(userId);
if(null != sysUser){
List<DutyTrees> dutyTrees = new ArrayList<>();
DutyTrees dutyTree = new DutyTrees();
dutyTree.setId(sysUser.getSysuserid());
dutyTree.setText(sysUser.getChinaname());
Integer userNum = dutyTreeMapper.countUser(userId);
Integer entNum = dutyTreeMapper.countEnt(userId);
dutyTree.setUserNum(userNum);
dutyTree.setEntNum(entNum);
List<DutyTrees> childrens = getChindTree(userId);
dutyTree.setAreas(childrens);
dutyTrees.add(dutyTree);
result.setData(dutyTrees);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
/**
* 获取子级用户
* @return
* @throws Exception
*/
public List<DutyTrees> getChindTree(String userId)throws Exception{
List<DutyTrees> childrens = new LinkedList<>();
//子级用户
List<SysUser> users = userTree(userId);
if(null != users && users.size() > 0){
for (SysUser user : users){
DutyTrees userDuty = new DutyTrees();
userDuty.setId(user.getSysuserid());
Integer completeNum = 0;
Integer totalNum = 0;
CheckPerform checkPerform = getCheckPerform(user);
if(null != checkPerform && checkPerform.getCheckList().size() > 0){
for(CheckList checkList : checkPerform.getCheckList()){
completeNum += checkList.getCompleteNum();
totalNum += checkList.getTotalNum();
}
}
String text = user.getChinaname();
text = text + "("+completeNum+"/"+totalNum+")";
userDuty.setText(text);
Integer userNum = dutyTreeMapper.countUser(user.getSysuserid());
Integer entNum = dutyTreeMapper.countEnt(user.getSysuserid());
userDuty.setUserNum(userNum);
userDuty.setEntNum(entNum);
childrens.add(userDuty);
}
}
List<SysEnterprise> enterprises = entTree(userId);
if(null != enterprises && enterprises.size() > 0){
for(SysEnterprise enterprise : enterprises){
DutyTrees entDuty = new DutyTrees();
entDuty.setId(enterprise.getSysenterpriseid());
entDuty.setText(enterprise.getEntname());
entDuty.setType(2);
if(null != enterprise.getCheckNum() && enterprise.getCheckNum() > 0){
entDuty.setCheckState(1);
}
childrens.add(entDuty);
}
}
return childrens;
}
/**
* 包片的人
* @param userId
* @return
* @throws Exception
*/
public List<SysUser> userTree(String userId)throws Exception{
List<SysUser> users = sysUserMapper.dutyTreeUser(userId);
if(users.size() > 0){
for (SysUser sysUser : users){
if(StringUtils.isNotBlank(sysUser.getPerformClassName())){
String performClassName = sysUser.getPerformClassName();
/*//显示总长度
Integer total = 14;
Integer performLenght = sysUser.getPerformClassName().length();
Integer chinaNameLenght = sysUser.getChinaname().length();
//减去用户名剩下的长度
total = total - chinaNameLenght;
System.out.println("total ------------> "+total);
System.out.println("performLenght ------------> "+performLenght);
//如果岗位长度超过总长度 则截取后面部门
if(performLenght > total){
//需要截取的长度
Integer needTotal = performLenght - total;
System.out.println("needTotal -----------------> "+needTotal);
//
performClassName = performClassName.substring(needTotal,performLenght);
performClassName = "..." + performClassName;
}*/
sysUser.setChinaname(performClassName+"-"+sysUser.getChinaname());
}
}
}
return users;
}
/**
* 包片的企业
* @param userId
* @return
* @throws Exception
*/
public List<SysEnterprise> entTree(String userId)throws Exception{
List<SysEnterprise> enterprises = sysEnterpriseMapper.dutyTreeEnt(userId);
return enterprises;
}
/**
* 用户责任树子级
* @return
* @throws Exception
*/
@ApiOperation(value = "用户责任树子级", notes = "用户责任树子级")
@GetMapping("/userDutyTreeChild/{id}")
@ApiImplicitParam(name = "id",value = "id",required = true)
@ResponseBody
public MultiResult<DutyTrees> userDutyTreeChild(@PathVariable String id)throws Exception{
MultiResult<DutyTrees> result = new MultiResult<>();
List<DutyTrees> childrens = getChindTree(id);
if(null != childrens && childrens.size() > 0){
result.setData(childrens);
}else{
result.setCode(Code.NO_DATA.getCode());
result.setMessage(Message.NO_DATA);
}
return result;
}
@ApiOperation(value = "首页本年隐患数据", notes = "首页本年隐患数据")
@GetMapping("/indexDangerNum/{userId}")
@ApiImplicitParam(name = "userId",required = true,value = "用户id")
@ResponseBody
public SingleResult<IndexDangerNum> indexDangerNum(@PathVariable String userId)throws Exception{
SingleResult<IndexDangerNum> result = new SingleResult<>();
IndexDangerNum indexDangerNum = new IndexDangerNum();
String areaCode = getUserArea(userId);
String year = Calendar.getInstance().get(Calendar.YEAR)+"";
year = TypeConversion.getCondition(year+"");
Integer total = 0;
Integer rectifyedNum = bookEntHTMapper.countByUserArea("已整改",year,areaCode);
Integer rectifyingNum = bookEntHTMapper.countByUserArea("整改中",year,areaCode);
Integer notRectifyNum = bookEntHTMapper.countByUserArea("未整改",year,areaCode);
total = rectifyedNum + rectifyingNum + notRectifyNum;
indexDangerNum.setTotal(total);
indexDangerNum.setRectifyedNum(rectifyedNum);
indexDangerNum.setRectifyingNum(rectifyingNum);
indexDangerNum.setNotRectifyNum(notRectifyNum);
result.setData(indexDangerNum);
return result;
}
@ApiOperation(value = "首页隐患统计", notes = "首页隐患统计")
@GetMapping("/indexAreaDangerNum/{userId}/{type}")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId",required = true,value = "用户id"),
@ApiImplicitParam(name = "type",required = true,value = "类型 1、月 2、年")
})
@ResponseBody
public MultiResult<AreaDangerNum> indexAreaDangerNum(@PathVariable String userId,@PathVariable Integer type)throws Exception{
MultiResult<AreaDangerNum> result = new MultiResult<>();
String areaCode = getUserArea(userId);
String year = Calendar.getInstance().get(Calendar.YEAR)+"";
if(1 == type){
Integer month = Calendar.getInstance().get(Calendar.MONTH)+1;
if(month < 10){
year = year + "-0" + month;
}else{
year = year + "-" + month;
}
}
year = TypeConversion.getCondition(year+"");
List<AreaDangerNum> dangerNums = bookEntHTMapper.userAreaDangerNum(areaCode,year);
result.setData(dangerNums);
return result;
}
@ApiOperation(value = "首页机构检查信息", notes = "首页机构检查信息")
@GetMapping("/indexOrgInfo/{userId}")
@ApiImplicitParam(name = "userId",required = true,value = "用户id")
@ResponseBody
public SingleResult<IndexOrgInfo> indexOrgInfo(@PathVariable String userId)throws Exception{
SingleResult<IndexOrgInfo> result = new SingleResult<>();
String areaCode = getUserArea(userId);
String year = Calendar.getInstance().get(Calendar.YEAR)+"";
year = TypeConversion.getCondition(year+"");
Integer totalEnt = orgEnterpriseMapper.countOrgEntNum(areaCode);
Integer checkEntNum = orgBatchMapper.countCheckEntNum(areaCode,year);
Integer notCheckEntNum = totalEnt - checkEntNum;
Integer commonlyNum = orgDangerMapper.countByLevel(areaCode,year,2);
Integer majorNum = orgDangerMapper.countByLevel(areaCode,year,1);
IndexOrgInfo indexOrgInfo = new IndexOrgInfo();
indexOrgInfo.setTotalEnt(totalEnt);
indexOrgInfo.setCheckEntNum(checkEntNum);
indexOrgInfo.setNotCheckEntNum(notCheckEntNum);
indexOrgInfo.setCommonlyNum(commonlyNum);
indexOrgInfo.setMajorNum(majorNum);
result.setData(indexOrgInfo);
return result;
}
/**
* PC企业列表
* @return
*/
@ApiOperation(value = "PC企业列表", notes = "PC企业列表")
@GetMapping("/indexEntPage")
@ResponseBody
public SingleResult<Pager<SysEnterprise>> indexEntPage(@Valid IndexEntPageDto indexEntPageDto)throws Exception {
SingleResult singleResult = new SingleResult();
Pager<SysEnterprise> pager = new Pager<>();
String areaCode = getUserArea(indexEntPageDto.getUserId());
String condition = TypeConversion.getCondition(indexEntPageDto.getCondition());
PageHelper.startPage(indexEntPageDto.getPage(), indexEntPageDto.getPageSize());
Page<SysEnterprise> object = (Page<SysEnterprise>)sysEnterpriseMapper.userEntList(condition,areaCode);
getDatePage(pager,object);
if (object != null){
for(SysEnterprise enterprise : pager.getRows()){
String orgName = enterprise.getStreetName();
if(StringUtils.isNotBlank(enterprise.getCommunityName())){
orgName = orgName + "-" + enterprise.getCommunityName();
}
enterprise.setOrgName(orgName);
//隐患整改数量
Integer notRectificationCount = enterprise.getDangerCount() - enterprise.getRectifiedCount() - enterprise.getRectificationCount();
enterprise.setNotRectificationCount(notRectificationCount);
}
singleResult.setData(pager);
}else {
singleResult.setMessage(Message.NO_DATA);
singleResult.setCode(Code.NO_DATA.getCode());
}
return singleResult;
}
@ApiOperation(value = "首页代办事项", notes = "首页代办事项")
@GetMapping("/indexStayFactor/{userId}")
@ApiImplicitParam(name = "userId",required = true,value = "用户id")
@ResponseBody
public SingleResult<StayFactor> indexStayFactor(@PathVariable String userId)throws Exception{
SingleResult<StayFactor> result = new SingleResult<>();
StayFactor stayFactor = new StayFactor();
//岗位id
String listPerformId = "";
SysUser sysUser = sysUserMapper.selectByPrimaryKey(userId);
if(null != sysUser){
listPerformId = sysUser.getSystitle();
}
Integer completeNum = oaTaskMapper.countComplete(listPerformId);
Integer overtimeNum = oaTaskMapper.countOvertime(listPerformId);
Integer conductNum = oaTaskMapper.countConduct(listPerformId);
stayFactor.setCompleteNum(completeNum);
stayFactor.setOvertimeNum(overtimeNum);
stayFactor.setConductNum(conductNum);
result.setData(stayFactor);
return result;
}
}