jhprjv2/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java

360 lines
15 KiB
Java
Raw Normal View History

2023-08-10 21:09:49 +08:00
package com.yanzhu.jh.publics;
2023-10-16 00:00:17 +08:00
import com.ruoyi.common.constant.Constants;
2023-08-10 21:09:49 +08:00
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
2023-10-16 00:00:17 +08:00
import com.ruoyi.common.core.redis.RedisCache;
2023-08-20 15:46:23 +08:00
import com.ruoyi.common.core.text.Convert;
2023-08-12 12:18:27 +08:00
import com.ruoyi.common.enums.PublicStateEnum;
2023-08-20 15:46:23 +08:00
import com.ruoyi.common.enums.SysRoleEnum;
2024-03-23 00:11:43 +08:00
import com.ruoyi.common.utils.DateUtils;
2023-09-23 01:33:54 +08:00
import com.ruoyi.common.utils.SecurityUtils;
2024-03-23 02:29:43 +08:00
import com.ruoyi.common.utils.StringUtils;
2023-09-23 01:33:54 +08:00
import com.ruoyi.system.domain.FlowTaskEntity;
2023-08-10 21:09:49 +08:00
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
2024-03-23 00:11:43 +08:00
import com.yanzhu.jh.project.domain.*;
import com.yanzhu.jh.project.service.*;
2023-08-10 21:09:49 +08:00
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
2024-04-20 16:19:07 +08:00
import org.springframework.web.bind.annotation.PathVariable;
2023-08-10 21:09:49 +08:00
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
2024-03-23 00:58:57 +08:00
import java.util.*;
2023-10-16 00:00:17 +08:00
import java.util.concurrent.TimeUnit;
2023-09-23 01:33:54 +08:00
import java.util.stream.Collectors;
2023-08-10 21:09:49 +08:00
/**
* Controller
*
* @author JiangYuQi
* @date 2023-07-29
*/
@RestController
@RequestMapping("/publics")
public class
PublicsController extends BaseController {
@Autowired
private ISysUserService userService;
@Autowired
private ISysDeptService deptService;
@Autowired
private ISurProjectService surProjectService;
2023-08-20 15:46:23 +08:00
@Autowired
private ISurProjectUnitInfoService surProjectUnitInfoService;
@Autowired
private ISurProjectUserinfoService surProjectUserinfoService;
2023-09-21 23:17:09 +08:00
@Autowired
private ISurProjectAuditinfoService surProjectAuditinfoService;
2023-10-16 00:00:17 +08:00
@Autowired
private RedisCache redisCache;
2023-09-21 23:17:09 +08:00
2023-08-10 21:09:49 +08:00
/**
*
*/
@GetMapping("/deptList")
public AjaxResult list(SysDept dept)
{
2023-08-12 12:18:27 +08:00
dept.setStatus(PublicStateEnum.OK.getCode());
2023-08-10 21:09:49 +08:00
List<SysDept> depts = deptService.selectDeptList(dept);
return success(depts);
}
2023-08-12 12:18:27 +08:00
/**
*
*/
@GetMapping("/queryZgsDeptList")
public AjaxResult queryZgsDeptList(SysDept dept)
{
2023-10-16 00:00:17 +08:00
String key="publics_queryZgsDeptList";
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
2023-08-12 12:18:27 +08:00
dept.setStatus(PublicStateEnum.OK.getCode());
dept.setComFlag(PublicStateEnum.COMZGS.getCode());
2023-10-16 00:00:17 +08:00
List<SysDept> list = deptService.selectAllDeptList(dept);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
2023-10-27 00:44:05 +08:00
return success(list);
2023-08-12 12:18:27 +08:00
}
2023-08-10 21:09:49 +08:00
/**
*
*/
@GetMapping("/projectList")
2023-09-09 01:36:45 +08:00
public TableDataInfo projectList(SurProject surProject)
2023-08-10 21:09:49 +08:00
{
List<SurProject> list = surProjectService.selectSurProjectList(surProject);
return getDataTable(list);
}
2024-04-20 16:19:07 +08:00
/**
*
*/
@GetMapping("/projectAllList")
public AjaxResult projectAllList()
{
String key="publics_projectAllList";
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
SurProject surProject = new SurProject();
List<SurProject> list = surProjectService.selectAllProjectList();
redisCache.setCacheObject(key, list, 5, TimeUnit.MINUTES);
return success(list);
}
2023-09-09 01:36:45 +08:00
/**
*
*/
@GetMapping("/findMyProjectList")
public TableDataInfo findMyProjectList(SurProject surProject)
{
surProject.setNowRole(Convert.toStr(getUserFirstRole()));
if(SysRoleEnum.ZGS.getCode().equals(surProject.getNowRole())){
surProject.setNowDept(Convert.toStr(deptService.getZGSDeptId(getDeptId())));
}else{
surProject.setNowDept(Convert.toStr(getDeptId()));
}
surProject.setNowUser(Convert.toStr(getUserId()));
List<SurProject> list = surProjectService.selectSurProjectList(surProject);
return getDataTable(list);
}
2023-08-10 21:09:49 +08:00
/**
*
*/
@GetMapping("/userList")
public TableDataInfo list(SysUser user)
{
2023-08-12 12:18:27 +08:00
user.setDelFlag(PublicStateEnum.OK.getCode());
2023-08-10 21:09:49 +08:00
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
}
/**
*
*/
@GetMapping("/deptTree")
public AjaxResult deptTree(SysDept dept)
{
return success(deptService.selectDeptTreeList(dept));
}
2023-08-20 15:46:23 +08:00
/**
*
*/
@GetMapping("/queryUnitList")
public TableDataInfo queryUnitList(SurProjectUnitInfo surProjectUnitInfo)
{
surProjectUnitInfo.setNowRole(Convert.toStr(getUserFirstRole()));
2023-11-11 10:11:48 +08:00
// 如果查询当前监理单位 && 当前角色是监理单位则只能查询自己单位
if(surProjectUnitInfo.getUnitTypes()!=null && surProjectUnitInfo.getUnitTypes().contains(4) && (surProjectUnitInfo.getNowRole().equals(SysRoleEnum.JLDW.getCode()) || surProjectUnitInfo.getNowRole().equals(SysRoleEnum.JLDWGR.getCode()))){
surProjectUnitInfo.setUnitId(getDeptId());
}
if(surProjectUnitInfo.getUnitType()!=null && surProjectUnitInfo.getUnitType().equals("4") && (surProjectUnitInfo.getNowRole().equals(SysRoleEnum.JLDW.getCode()) || surProjectUnitInfo.getNowRole().equals(SysRoleEnum.JLDWGR.getCode()))){
surProjectUnitInfo.setUnitId(getDeptId());
}
// 如果查询当前总包单位 && 当前角色是监理单位则只能查询自己单位
if(surProjectUnitInfo.getUnitTypes()!=null && surProjectUnitInfo.getUnitTypes().contains(2) && (surProjectUnitInfo.getNowRole().equals(SysRoleEnum.ZBDW.getCode()) || surProjectUnitInfo.getNowRole().equals(SysRoleEnum.ZBDWGR.getCode()))){
surProjectUnitInfo.setUnitId(getDeptId());
}
if(surProjectUnitInfo.getUnitType()!=null && surProjectUnitInfo.getUnitType().equals("2") && (surProjectUnitInfo.getNowRole().equals(SysRoleEnum.ZBDW.getCode()) || surProjectUnitInfo.getNowRole().equals(SysRoleEnum.ZBDWGR.getCode()))){
2023-08-20 15:46:23 +08:00
surProjectUnitInfo.setUnitId(getDeptId());
}
2024-04-20 16:19:07 +08:00
String key="publics_queryUnitList_"+surProjectUnitInfo.getProjectId()+"_"+surProjectUnitInfo.getNowRole()+"_"+surProjectUnitInfo.getUnitId()+"_"+surProjectUnitInfo.getUnitType()+"_"+surProjectUnitInfo.getUnitTypes();
List<SurProjectUnitInfo> list = redisCache.getCacheObject(key);
if(list!=null){
return getDataTable(list);
}
//缓存数据2分钟
list = surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo);
redisCache.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
return getDataTable(list);
}
/**
*
*/
@GetMapping("/queryAllUnitList/{projId}/{unitType}")
public AjaxResult queryAllUnitList(@PathVariable("projId") Long projId,@PathVariable("unitType") Long unitType)
{
String key="publics_queryAllUnitList_"+projId+unitType;
List<SurProjectUnitInfo> list = redisCache.getCacheObject(key);
if(list!=null){
return success(list);
}
SurProjectUnitInfo surProjectUnitInfo = new SurProjectUnitInfo();
surProjectUnitInfo.setProjectId(projId);
surProjectUnitInfo.setUnitType(unitType);
//缓存数据2分钟
list = surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo);
redisCache.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
return success(list);
2023-08-20 15:46:23 +08:00
}
2023-09-01 17:31:12 +08:00
/**
*
*/
@GetMapping("/selectProjectAllUnitUser")
public AjaxResult selectProjectAllUnitUser(SurProjectUserinfo surProjectUserinfo)
{
2023-10-16 00:00:17 +08:00
String key="publics_selectProjectAllUnitUser_"+surProjectUserinfo.getProjectId();
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
List<SurProjectUnitInfo> list = surProjectUserinfoService.selectProjectUnitUser(surProjectUserinfo);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return success(list);
2023-09-01 17:31:12 +08:00
}
2023-08-20 15:46:23 +08:00
/**
*
*/
@GetMapping("/selectProjectUnitUser")
2023-09-01 17:31:12 +08:00
public AjaxResult selectProjectUnitUser(SurProjectUnitInfo surProjectUnitInfo)
2023-08-20 15:46:23 +08:00
{
2023-10-16 00:00:17 +08:00
String key="publics_selectProjectUnitUser_"+surProjectUnitInfo.getProjectId();
Object obj=redisCache.getCacheObject(key);
if(obj!=null){
return success(obj);
}
List<SurProjectUnitInfo> list = surProjectUserinfoService.selectProjectUnitUser(surProjectUnitInfo);
redisCache.setCacheObject(key, list, Constants.BIGSCREEN_QUERY_CACHE, TimeUnit.MINUTES);
return success(list);
2023-08-20 15:46:23 +08:00
}
2023-09-21 23:17:09 +08:00
/**
*
*/
@GetMapping("/selectProjectAuditinfo")
public AjaxResult selectProjectAuditinfo(SurProjectAuditinfo surProjectAuditinfo)
{
return success(surProjectAuditinfoService.selectProjectAuditinfoList(surProjectAuditinfo));
}
2023-09-23 01:33:54 +08:00
/**
*
*/
@GetMapping("/findTask")
public AjaxResult findTask()
{
FlowTaskEntity flowTaskEntity = new FlowTaskEntity();
flowTaskEntity.setNowRole(Convert.toStr(getUserFirstRole()));
if(SysRoleEnum.ZGS.getCode().equals(flowTaskEntity.getNowRole())){
flowTaskEntity.setNowDept(Convert.toStr(deptService.getZGSDeptId(getDeptId())));
}else{
flowTaskEntity.setNowDept(Convert.toStr(getDeptId()));
}
flowTaskEntity.setNowUser(Convert.toStr(SecurityUtils.getUserId()));
flowTaskEntity.setRoleIds(SecurityUtils.getLoginUser().getUser().getRoles().stream().map(role -> role.getRoleId()).collect(Collectors.toList()));
2023-09-23 16:18:50 +08:00
flowTaskEntity.setNowUserName(getUsername());
2024-06-11 23:33:06 +08:00
flowTaskEntity.setActiveName("awaitSum");
2023-09-23 01:33:54 +08:00
return success(surProjectAuditinfoService.findMyTask(flowTaskEntity));
}
2024-03-23 00:11:43 +08:00
@Autowired
private ISurProjectAttendanceCfgService surProjectAttendanceCfgService;
@Autowired
private ISurProjectAttendanceDataService surProjectAttendanceDataService;
2024-04-19 22:07:42 +08:00
/**
*
*/
@GetMapping("/findAttendanceCfgList")
public AjaxResult list(SurProjectAttendanceCfg surProjectAttendanceCfg)
{
List<SurProjectAttendanceCfg> list = surProjectAttendanceCfgService.selectSurProjectAttendanceCfgList(surProjectAttendanceCfg);
return success(list);
}
2024-03-23 00:11:43 +08:00
/**
*
*/
2024-04-19 22:07:42 +08:00
//@GetMapping("/v1/initAttendanceData")
2024-03-23 00:11:43 +08:00
public AjaxResult initAttendanceData()
{
//开始时间
Calendar calendar = Calendar.getInstance();
/***
*
*/
List<SurProjectAttendanceCfg> cfgList = surProjectAttendanceCfgService.selectSurProjectAttendanceCfgList(new SurProjectAttendanceCfg());
Map<String, Object> data = new HashMap<>();
for(SurProjectAttendanceCfg cfg:cfgList){
calendar.setTime(DateUtils.parseDate("2023-07-16"));
data.put("cfgid",cfg.getId());
for(int i=0;i<365;i++){
if(calendar.getTimeInMillis()>System.currentTimeMillis()){
/** 跳出本次循环 **/
break;
}
calendar.add(Calendar.DATE, 1);
data.put("date",DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,calendar.getTime()));
List<Map<String,Object>> list;
if(cfg.getVendorsCode().equals("huazhu")){
list = surProjectAttendanceDataService.initHuaZhuData(data);
}else{
list = surProjectAttendanceDataService.initOtherData(data);
}
2024-03-23 00:58:57 +08:00
List<SurProjectAttendanceData> dataList = new ArrayList<>();
for(Map<String,Object> map:list){
SurProjectAttendanceData attendanceData = new SurProjectAttendanceData();
attendanceData.setCfgid(cfg.getId());
attendanceData.setAppId(map.get("app_id").toString());
attendanceData.setProjectId(cfg.getProjectId());
attendanceData.setProjectName(cfg.getProjectName());
attendanceData.setDeptId(cfg.getSubDeptId());
attendanceData.setDeptName(cfg.getUnitName());
attendanceData.setVendorsCode(cfg.getVendorsCode());
attendanceData.setServerid(map.get("serverid").toString());
attendanceData.setWorkerId(map.get("workerId").toString());
attendanceData.setWorkerName(map.get("name").toString());
attendanceData.setIdentification(map.get("identification").toString());
attendanceData.setWorkerPhoto(Convert.toStr(map.get("recentPhoto")));
attendanceData.setWorkerGender(Convert.toLong(map.get("gender")));
attendanceData.setBirthDate(Convert.toLong(map.get("birthDate")));
attendanceData.setEthnic(map.get("ethnic").toString());
attendanceData.setNativePlace(map.get("nativePlace").toString());
attendanceData.setPhone(map.get("phone").toString());
attendanceData.setWorkTypeName(map.get("workTypeName").toString());
attendanceData.setSpecWorkType(Convert.toInt(map.get("specWorkType")));
attendanceData.setGroupName(map.get("groupName").toString());
attendanceData.setCompanyTypeId(Convert.toStr(map.get("companyTypeId"),"0"));
attendanceData.setCompanyName(map.get("companyName").toString());
2024-03-23 02:29:43 +08:00
attendanceData.setAttendanceTime(Convert.toStr(map.get("inTime")));
attendanceData.setAttendanceOutTime(Convert.toStr(map.get("outTime")));
2024-03-23 00:58:57 +08:00
attendanceData.setScanPhoto(Convert.toStr(map.get("scanPhoto")));
attendanceData.setTeamId(Convert.toLong(map.get("teamId")));
attendanceData.setWorkTypeCode(Convert.toStr(map.get("workTypeCode")));
attendanceData.setCompanyId(Convert.toStr(map.get("companyId")));
attendanceData.setVendorId(Convert.toLong(map.get("vendorId")));
attendanceData.setDeviceCode(Convert.toStr(map.get("device_code")));
attendanceData.setIsDel(Convert.toLong(map.get("is_del")));
attendanceData.setCreateBy("数据迁移格式化");
attendanceData.setCreateTime(new Date());
dataList.add(attendanceData);
}
2024-03-23 02:29:43 +08:00
if(StringUtils.isNotEmpty(dataList)){
surProjectAttendanceDataService.batchSurProjectAttendanceData(dataList);
}
2024-03-23 00:11:43 +08:00
}
}
return success();
}
2023-08-10 21:09:49 +08:00
}