Merge branch 'dev'

This commit is contained in:
wangliwen 2022-11-09 15:34:36 +08:00
commit d516aee7e0
23 changed files with 333 additions and 49 deletions

View File

@ -112,7 +112,7 @@ public class ActTaskController {
" t_meetingroom_book.id AS `taskId`, " + " t_meetingroom_book.id AS `taskId`, " +
" t_meetingroom_book.dept AS `userDeptName`, " + " t_meetingroom_book.dept AS `userDeptName`, " +
" t_meetingroom.`name` AS `userName`, " + " t_meetingroom.`name` AS `userName`, " +
" '会议室审核' AS `taskName `, " + " '会客厅审核' AS `taskName `, " +
" t_meetingroom.create_date AS `createTime` " + " t_meetingroom.create_date AS `createTime` " +
"FROM " + "FROM " +
" t_meetingroom_book " + " t_meetingroom_book " +

View File

@ -31,7 +31,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@Api(tags = "预约会议室") @Api(tags = "预约会客厅")
@RestController @RestController
@RequestMapping("bookMeeting") @RequestMapping("bookMeeting")
public class BookMeetingRoomController { public class BookMeetingRoomController {
@ -39,7 +39,7 @@ public class BookMeetingRoomController {
@Value("${big_date.name}") @Value("${big_date.name}")
private String bigDateDeptName; // 大数据局名称 private String bigDateDeptName; // 大数据局名称
@Value("${big_date.assignee_meet_role_id}") @Value("${big_date.assignee_meet_role_id}")
private String defaultAssigneeRoleId; // 改成配置的会议室审核人 private String defaultAssigneeRoleId; // 改成配置的会客厅审核人
@Resource @Resource
private TMeetingroomBookService tMeetingroomBookService; private TMeetingroomBookService tMeetingroomBookService;
@ -51,11 +51,11 @@ public class BookMeetingRoomController {
private SysRoleUserService sysRoleUserService; private SysRoleUserService sysRoleUserService;
@GetMapping("list") @GetMapping("list")
@ApiOperation("搜索可以预约的会议室") @ApiOperation("搜索可以预约的会客厅")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = "name", value = "议室名称", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "name", value = "客厅名称", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "bookDate", value = "预约开始时间", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "bookDate", value = "预约开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "startTime", value = "预约开始时间", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "startTime", value = "预约开始时间", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "endTime", value = "预约结束时间", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "endTime", value = "预约结束时间", paramType = "query", dataType = "String"),
@ -70,7 +70,7 @@ public class BookMeetingRoomController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = "roomName", value = "议室名称", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "roomName", value = "客厅名称", paramType = "query", dataType = "String"),
}) })
public Result<PageData<TMeetingroomBookDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) { public Result<PageData<TMeetingroomBookDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
PageData<TMeetingroomBookDTO> page = tMeetingroomBookService.queryList(params); PageData<TMeetingroomBookDTO> page = tMeetingroomBookService.queryList(params);
@ -78,9 +78,9 @@ public class BookMeetingRoomController {
} }
@GetMapping("availableDate") @GetMapping("availableDate")
@ApiOperation("根据日期获取会议室当天的可用时段") @ApiOperation("根据日期获取会客厅当天的可用时段")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "roomId", value = "议室主键", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = "roomId", value = "客厅主键", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = "date", value = "查询的天数", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(name = "date", value = "查询的天数", paramType = "query", required = true, dataType = "String"),
}) })
public Result<List<String>> availableDate(@ApiIgnore @RequestParam Map<String, Object> params) throws ParseException { public Result<List<String>> availableDate(@ApiIgnore @RequestParam Map<String, Object> params) throws ParseException {
@ -101,9 +101,9 @@ public class BookMeetingRoomController {
tMeetingroomBookService.save(dto); tMeetingroomBookService.save(dto);
// 发起预约后推送消息 // 发起预约后推送消息
String content = "【通知】请审核" + dto.getName() + "发起的" + dto.getRoomName() + String content = "【通知】请审核" + dto.getName() + "发起的" + dto.getRoomName() +
"议室申请"; "客厅申请";
SysNoticeDTO sysNoticeDTO = new SysNoticeDTO(); SysNoticeDTO sysNoticeDTO = new SysNoticeDTO();
sysNoticeDTO.setTitle("议室申请审核通知"); sysNoticeDTO.setTitle("客厅申请审核通知");
sysNoticeDTO.setContent(content); // 通知内容 sysNoticeDTO.setContent(content); // 通知内容
sysNoticeDTO.setReceiverType(1); sysNoticeDTO.setReceiverType(1);
sysNoticeDTO.setType(11); sysNoticeDTO.setType(11);
@ -127,12 +127,12 @@ public class BookMeetingRoomController {
sysNoticeService.save(sysNoticeDTO); sysNoticeService.save(sysNoticeDTO);
// 还要发送自己能看到的的谁给我审核的消息 // 还要发送自己能看到的的谁给我审核的消息
String ownedContent = "【通知】您发起的" + dto.getRoomName() + String ownedContent = "【通知】您发起的" + dto.getRoomName() +
"议室申请,当前审核部门为:" + bigDateDeptName + ",审核负责人:会议室管理员"; "客厅申请,当前审核部门为:" + bigDateDeptName + ",审核负责人:会客厅管理员";
SysNoticeDTO ownedSysNoticeDTO = new SysNoticeDTO(); SysNoticeDTO ownedSysNoticeDTO = new SysNoticeDTO();
ownedSysNoticeDTO.setType(10); ownedSysNoticeDTO.setType(10);
ownedSysNoticeDTO.setApplyState(0); ownedSysNoticeDTO.setApplyState(0);
ownedSysNoticeDTO.setApplyId(dto.getId().toString()); ownedSysNoticeDTO.setApplyId(dto.getId().toString());
ownedSysNoticeDTO.setTitle("议室申请发起通知"); ownedSysNoticeDTO.setTitle("客厅申请发起通知");
ownedSysNoticeDTO.setContent(ownedContent); // 通知内容 ownedSysNoticeDTO.setContent(ownedContent); // 通知内容
ownedSysNoticeDTO.setReceiverType(1); ownedSysNoticeDTO.setReceiverType(1);
ownedSysNoticeDTO.setReceiverTypeIds(dto.getCreator().toString()); ownedSysNoticeDTO.setReceiverTypeIds(dto.getCreator().toString());
@ -160,7 +160,7 @@ public class BookMeetingRoomController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = "roomName", value = "议室名称", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "roomName", value = "客厅名称", paramType = "query", dataType = "String"),
@ApiImplicitParam(name = "state", value = "预约状态", paramType = "query", dataType = "int"), @ApiImplicitParam(name = "state", value = "预约状态", paramType = "query", dataType = "int"),
}) })
public Result<PageData<TMeetingroomBookDTO>> auditPage(@ApiIgnore @RequestParam Map<String, Object> params) { public Result<PageData<TMeetingroomBookDTO>> auditPage(@ApiIgnore @RequestParam Map<String, Object> params) {
@ -180,12 +180,12 @@ public class BookMeetingRoomController {
// 修改之后推送存通知sysNotice // 修改之后推送存通知sysNotice
String state = dto.getState() == 2 ? "通过" : "不通过"; String state = dto.getState() == 2 ? "通过" : "不通过";
String content = "【通知】" + dto.getName() + ",您发起的" + dto.getRoomName() + String content = "【通知】" + dto.getName() + ",您发起的" + dto.getRoomName() +
"议室申请,审核结果为:" + state; "客厅申请,审核结果为:" + state;
SysNoticeDTO sysNoticeDTO = new SysNoticeDTO(); SysNoticeDTO sysNoticeDTO = new SysNoticeDTO();
sysNoticeDTO.setType(10); sysNoticeDTO.setType(10);
sysNoticeDTO.setApplyState(1); sysNoticeDTO.setApplyState(1);
sysNoticeDTO.setApplyId(dto.getId().toString()); sysNoticeDTO.setApplyId(dto.getId().toString());
sysNoticeDTO.setTitle("议室申请审核结果通知"); sysNoticeDTO.setTitle("客厅申请审核结果通知");
sysNoticeDTO.setContent(content); // 通知内容 sysNoticeDTO.setContent(content); // 通知内容
sysNoticeDTO.setReceiverType(1); sysNoticeDTO.setReceiverType(1);
sysNoticeDTO.setReceiverTypeIds(dto.getCreator().toString()); sysNoticeDTO.setReceiverTypeIds(dto.getCreator().toString());

View File

@ -22,7 +22,7 @@ import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
@Api(tags = "议室") @Api(tags = "客厅")
@RestController @RestController
@RequestMapping("meeting") @RequestMapping("meeting")
public class MeetingroomController { public class MeetingroomController {
@ -36,7 +36,7 @@ public class MeetingroomController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.PAGE, value = "当前页码从1开始", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"), @ApiImplicitParam(name = Constant.LIMIT, value = "每页显示记录数", paramType = "query", required = true, dataType = "int"),
@ApiImplicitParam(name = "name", value = "议室名称", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "name", value = "客厅名称", paramType = "query", dataType = "String"),
}) })
public Result<PageData<TMeetingroomDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) { public Result<PageData<TMeetingroomDTO>> page(@ApiIgnore @RequestParam Map<String, Object> params) {
PageData<TMeetingroomDTO> page = meetingroomService.queryList(params); PageData<TMeetingroomDTO> page = meetingroomService.queryList(params);
@ -58,7 +58,7 @@ public class MeetingroomController {
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
if (meetingroomService.checkMeetingRepeat(dto.getName())) { if (meetingroomService.checkMeetingRepeat(dto.getName())) {
return new Result().error("已经存在相同名称的会议室,请勿重复新增"); return new Result().error("已经存在相同名称的会客厅,请勿重复新增");
} }
meetingroomService.save(dto); meetingroomService.save(dto);
return new Result(); return new Result();

View File

@ -34,4 +34,6 @@ public interface TMeetingroomBookMapper extends BaseDao<TMeetingroomBook> {
@Param("state") Integer state); @Param("state") Integer state);
List<TMeetingroomBook> selectInvalid(Date date); List<TMeetingroomBook> selectInvalid(Date date);
List<Long> selectBookIdByRoomId(Long id);
} }

View File

@ -10,13 +10,13 @@ import java.util.Date;
@Data @Data
@ApiModel(value = "议室预约") @ApiModel(value = "客厅预约")
public class TMeetingroomBookDTO implements Serializable { public class TMeetingroomBookDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键,新增时不传") @ApiModelProperty(value = "主键,新增时不传")
private Long id; private Long id;
@ApiModelProperty(value = "议室id") @ApiModelProperty(value = "客厅id")
private Long roomId; private Long roomId;
@ApiModelProperty(value = "预约时间请传时间格式为2000-01-01") @ApiModelProperty(value = "预约时间请传时间格式为2000-01-01")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")

View File

@ -8,10 +8,10 @@ import java.io.Serializable;
import java.util.Date; import java.util.Date;
/** /**
* 议室 * 客厅
*/ */
@Data @Data
@ApiModel(value = "议室") @ApiModel(value = "客厅")
public class TMeetingroomDTO implements Serializable { public class TMeetingroomDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -25,7 +25,7 @@ public class TMeetingroomDTO implements Serializable {
private String area; private String area;
@ApiModelProperty(value = "可容纳人数") @ApiModelProperty(value = "可容纳人数")
private Integer capacity; private Integer capacity;
@ApiModelProperty(value = "议室图片") @ApiModelProperty(value = "客厅图片")
private String pic; private String pic;
@ApiModelProperty(value = "描述") @ApiModelProperty(value = "描述")
private String description; private String description;

View File

@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
/** /**
* 议室 * 客厅
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ -33,7 +33,7 @@ public class TMeetingroom extends BaseEntity {
*/ */
private Integer capacity; private Integer capacity;
/** /**
* 议室图片 * 客厅图片
*/ */
private String pic; private String pic;
/** /**

View File

@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
/** /**
* 议室预约 * 客厅预约
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ -17,7 +17,7 @@ public class TMeetingroomBook extends BaseEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 议室id * 客厅id
*/ */
private Long roomId; private Long roomId;
private Date bookDate; private Date bookDate;

View File

@ -20,7 +20,7 @@ public class SysNoticeDTO implements Serializable {
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private Long id; private Long id;
@ApiModelProperty(value = "通知类型 0申请前台 1申请后台 2上架前台 3上架后台 4下架前台 5下架后台 6需求前台 7需求后台 8评论前台 9评论后台 10议室前台 11会议室后台 12其他") @ApiModelProperty(value = "通知类型 0申请前台 1申请后台 2上架前台 3上架后台 4下架前台 5下架后台 6需求前台 7需求后台 8评论前台 9评论后台 10客厅前台 11会客厅后台 12其他")
private Integer type; private Integer type;
@ApiModelProperty(value = "标题") @ApiModelProperty(value = "标题")
private String title; private String title;

View File

@ -36,7 +36,7 @@ public class NoticeUntil {
" 0: \"myAgent-CommentModeration\"," + " 0: \"myAgent-CommentModeration\"," +
" 1: \"hasToDoTasks-CommentModeration\"," + " 1: \"hasToDoTasks-CommentModeration\"," +
" }," + " }," +
" \"议室后台\": {" + " \"客厅后台\": {" +
" 0: \"activiti-RoomExamineAdmin\"," + " 0: \"activiti-RoomExamineAdmin\"," +
" 1: \"activiti-RoomExamineAdmin\"," + " 1: \"activiti-RoomExamineAdmin\"," +
" }," + " }," +
@ -55,8 +55,8 @@ public class NoticeUntil {
" 7: \"需求后台\"," + " 7: \"需求后台\"," +
" 8: \"评论前台\"," + " 8: \"评论前台\"," +
" 9: \"评论后台\"," + " 9: \"评论后台\"," +
" 10: \"议室前台\"," + " 10: \"客厅前台\"," +
" 11: \"议室后台\"," + " 11: \"客厅后台\"," +
" 12: \"其他\"" + " 12: \"其他\"" +
"}"; "}";
typeMap = JSONObject.parseObject(typeString, HashMap.class); typeMap = JSONObject.parseObject(typeString, HashMap.class);
@ -67,7 +67,7 @@ public class NoticeUntil {
" \"下架前台\": \"能力下架\"," + " \"下架前台\": \"能力下架\"," +
" \"需求前台\": \"能力需求\"," + " \"需求前台\": \"能力需求\"," +
" \"评论前台\": \"需求评论\"," + " \"评论前台\": \"需求评论\"," +
" \"议室前台\": \"会议室前台\"" + " \"客厅前台\": \"会客厅前台\"" +
"}"; "}";
tabMap = JSONObject.parseObject(tabString, HashMap.class); tabMap = JSONObject.parseObject(tabString, HashMap.class);
} }
@ -97,7 +97,7 @@ public class NoticeUntil {
if (route != null) { if (route != null) {
return manageUrl + "/#/" + route; return manageUrl + "/#/" + route;
} }
} else if (typeName.equals("议室前台")) {//会议室单独处理 } else if (typeName.equals("客厅前台")) {//会客厅单独处理
return portalUrl + "/#/DetailsPageconetent?select=基础设施&formPage=noticePage"; return portalUrl + "/#/DetailsPageconetent?select=基础设施&formPage=noticePage";
} else {//前台根据tab区分不同param } else {//前台根据tab区分不同param
String tabName = tabMap.get(typeName); String tabName = tabMap.get(typeName);

View File

@ -45,4 +45,6 @@ public interface TAbilityApplicationDao extends BaseDao<TAbilityApplicationEntit
Long countUserResourceApply(Long userId, Long resourceId); Long countUserResourceApply(Long userId, Long resourceId);
Integer getDeptInfrastructureApply(Long deptId); Integer getDeptInfrastructureApply(Long deptId);
List<Long> getInstanceIdByResId(Long id);
} }

View File

@ -22,8 +22,11 @@ import io.renren.modules.resource.service.ResourceService;
import io.renren.modules.resource.videoPreview.AbstractVideoPreviewService; import io.renren.modules.resource.videoPreview.AbstractVideoPreviewService;
import io.renren.modules.resource.videoPreview.VideoPreviewFactory; import io.renren.modules.resource.videoPreview.VideoPreviewFactory;
import io.renren.modules.security.user.SecurityUser; import io.renren.modules.security.user.SecurityUser;
import io.renren.modules.security.user.UserDetail;
import io.renren.modules.security.user.SecurityUser;
import io.renren.modules.sys.dao.SysUserDao; import io.renren.modules.sys.dao.SysUserDao;
import io.renren.modules.sys.dto.SysDeptDTO; import io.renren.modules.sys.dto.SysDeptDTO;
import io.renren.modules.sys.enums.SuperAdminEnum;
import io.renren.modules.sys.dto.SysUserDTO; import io.renren.modules.sys.dto.SysUserDTO;
import io.renren.modules.sys.entity.SysUserEntity; import io.renren.modules.sys.entity.SysUserEntity;
import io.renren.modules.sys.service.SysDeptService; import io.renren.modules.sys.service.SysDeptService;
@ -558,21 +561,53 @@ public class ResourceController {
" <soap:Body>\n" + " <soap:Body>\n" +
" <ZySPPort xmlns=\"http://tempuri.org/\">\n" + " <ZySPPort xmlns=\"http://tempuri.org/\">\n" +
// " <userguid>e8d2fb43-f512-4918-ab47-1141b925af10</userguid>\n" + // " <userguid>e8d2fb43-f512-4918-ab47-1141b925af10</userguid>\n" +
String.format("<userguid>%s</userguid>", sysUser.getGuid()) + String.format(" <userguid>%s</userguid>", sysUser.getGuid()) +
String.format("<pagenum>%d</pagenum>", page) + String.format(" <pagenum>%d</pagenum>\n", page) +
String.format("<pagesize>%d</pagesize>", size) + String.format(" <pagesize>%d</pagesize>\n", size) +
title != null ? String.format("<title>%s</title>", title) : "" + String.format(" <title>%s</title>\n", title==null ? "" : title) +
" </ZySPPort>\n" + " </ZySPPort>\n" +
" </soap:Body>\n" + " </soap:Body>\n" +
"</soap:Envelope>"; "</soap:Envelope>";
HttpHeaders requestHeaders = new HttpHeaders(); HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.set("SOAPAction", "http://tempuri.org/ZWCJ_mainPort"); requestHeaders.set("SOAPAction", "http://tempuri.org/ZySPPort");
requestHeaders.setContentType(new MediaType("text", "xml", Charset.forName("utf-8"))); requestHeaders.setContentType(new MediaType("text", "xml", Charset.forName("utf-8")));
HttpEntity<String> requestEntity = new HttpEntity<>(parame, requestHeaders); HttpEntity<String> requestEntity = new HttpEntity<>(parame, requestHeaders);
try { try {
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody(); String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
String startTag = "<ZWCJ_mainPortResult>"; String startTag = "<ZySPPortResult>";
String endTag = "</ZWCJ_mainPortResult>"; String endTag = "</ZySPPortResult>";
String json = body.substring(body.indexOf(startTag) + startTag.length(), body.indexOf(endTag));
HashMap result = JSON.parseObject(json, HashMap.class);
return new Result().ok(result);
} catch (Exception e) {
e.printStackTrace();
return new Result().ok(new ArrayList(0));
}
}
@GetMapping("ZywMessage/yaweiApproveDetails")
@ApiOperation("数据资源审批详情转发")
@LogOperation("数据资源审批详情转发")
public Result yaweiApproveDetails(@ApiParam("申请guid") String applyGuid, @ApiParam("部门guid") String deptGuid) {
String url = "http://15.72.158.81/zyjk/ZywMessage.asmx?op=ZyShowrecord";
String parame = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" +
" <soap:Body>\n" +
" <ZyShowrecord xmlns=\"http://tempuri.org/\">\n" +
String.format(" <guid>%s</guid>\n", applyGuid) +
String.format(" <bmguid>%s</bmguid>\n", deptGuid) +
" </ZyShowrecord>\n" +
" </soap:Body>\n" +
"</soap:Envelope>";
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.set("SOAPAction", "http://tempuri.org/ZyShowrecord");
requestHeaders.setContentType(new MediaType("text", "xml", Charset.forName("utf-8")));
HttpEntity<String> requestEntity = new HttpEntity<>(parame, requestHeaders);
try {
String body = restTemplate.postForEntity(url, requestEntity, String.class).getBody();
String startTag = "<ZyShowrecordResult>";
String endTag = "</ZyShowrecordResult>";
String json = body.substring(body.indexOf(startTag) + startTag.length(), body.indexOf(endTag)); String json = body.substring(body.indexOf(startTag) + startTag.length(), body.indexOf(endTag));
HashMap result = JSON.parseObject(json, HashMap.class); HashMap result = JSON.parseObject(json, HashMap.class);
@ -830,4 +865,40 @@ public class ResourceController {
} }
@PostMapping("/delResBySuAd")
@ApiOperation("/超级管理员删除能力数据")
@LogOperation("/超级管理员删除能力数据")
public Result delResBySuAd(Long id) {
UserDetail user = SecurityUser.getUser();
//不是超级管理员不能执行删除操作
if (SuperAdminEnum.NO.value() == user.getSuperAdmin()) {
return new Result().error("请使用超级管理员账号进行此操作!");
} else {
try {
resourceService.delResBySuAd(id);
}catch (Exception e) {
return new Result().error("清除能力及相关数据失败!");
}
return new Result().ok("能力及相关数据已清除。");
}
}
@PostMapping("/delProcinstBySuAd")
@ApiOperation("/超级管理员删除流程数据")
@LogOperation("/超级管理员删除流程数据")
public Result delProcinstBySuAd(Long id, String type, Long resourceId) {
UserDetail user = SecurityUser.getUser();
//不是超级管理员不能执行删除操作
if (SuperAdminEnum.NO.value() == user.getSuperAdmin()) {
return new Result().error("请使用超级管理员账号进行此操作!");
} else {
try {
resourceService.delProcinstBySuAd(id, type, resourceId);
}catch (Exception e) {
return new Result().error("清除流程及相关数据失败!");
}
return new Result().ok("流程及相关数据已清除。");
}
}
} }

View File

@ -221,4 +221,6 @@ public interface ResourceDao extends BaseDao<ResourceEntity> {
Integer getSquareListCount(@Param("type") String type, @Param("deptType") Integer deptType, @Param("area") String area); Integer getSquareListCount(@Param("type") String type, @Param("deptType") Integer deptType, @Param("area") String area);
List<Map> getAppListByDept(@Param("deptId") Long deptId, @Param("key") String key); List<Map> getAppListByDept(@Param("deptId") Long deptId, @Param("key") String key);
Integer updateByDelProcinst(@Param("resourceId") Long resourceId);
} }

View File

@ -17,7 +17,7 @@ public class SelectApplyDeptDetailTypeCountListExcel {
private Integer ywzj; private Integer ywzj;
@ExcelProperty({"应用资源"}) @ExcelProperty({"应用资源"})
private Integer yyzy; private Integer yyzy;
@ExcelProperty({"议室"}) @ExcelProperty({"客厅"})
private Integer hys; private Integer hys;
@ExcelProperty({"总计"}) @ExcelProperty({"总计"})
private Integer count; private Integer count;

View File

@ -162,4 +162,7 @@ public interface ResourceService extends CrudService<ResourceEntity, ResourceDTO
Object getAppListByDept(String key); Object getAppListByDept(String key);
void delResBySuAd(Long id);
void delProcinstBySuAd(Long id, String type, Long resourceId);
} }

View File

@ -16,12 +16,16 @@ import io.renren.common.domain.Tsingtao_xhaProperties;
import io.renren.common.page.PageData; import io.renren.common.page.PageData;
import io.renren.common.service.impl.CrudServiceImpl; import io.renren.common.service.impl.CrudServiceImpl;
import io.renren.common.utils.DateUtils; import io.renren.common.utils.DateUtils;
import io.renren.modules.demanData.dao.TDemandDataDao;
import io.renren.modules.demandComment.dao.TDemandCommentDao;
import io.renren.modules.enke.service.EnkeService; import io.renren.modules.enke.service.EnkeService;
import io.renren.modules.meeting.dao.TMeetingroomBookMapper;
import io.renren.modules.meeting.dao.TMeetingroomMapper; import io.renren.modules.meeting.dao.TMeetingroomMapper;
import io.renren.modules.meeting.entity.TMeetingroom; import io.renren.modules.meeting.entity.TMeetingroom;
import io.renren.modules.monitor.dto.CameraChannelDto1; import io.renren.modules.monitor.dto.CameraChannelDto1;
import io.renren.modules.monitor.entity.CameraChannel; import io.renren.modules.monitor.entity.CameraChannel;
import io.renren.modules.monitor.mapper.CameraChannelMapper; import io.renren.modules.monitor.mapper.CameraChannelMapper;
import io.renren.modules.notice.dao.SysNoticeDao;
import io.renren.modules.processForm.dao.TAbilityApplicationDao; import io.renren.modules.processForm.dao.TAbilityApplicationDao;
import io.renren.modules.processForm.dto.TAbilityApplicationDTO; import io.renren.modules.processForm.dto.TAbilityApplicationDTO;
import io.renren.modules.processForm.entity.TAbilityApplicationEntity; import io.renren.modules.processForm.entity.TAbilityApplicationEntity;
@ -39,8 +43,10 @@ import io.renren.modules.resource.entity.ResourceEntity;
import io.renren.modules.resource.entity.ResourceEntityDelFlag; import io.renren.modules.resource.entity.ResourceEntityDelFlag;
import io.renren.modules.resource.entity.TbDataResourceRelEntity; import io.renren.modules.resource.entity.TbDataResourceRelEntity;
import io.renren.modules.resource.service.ResourceService; import io.renren.modules.resource.service.ResourceService;
import io.renren.modules.resourceBrowse.dao.ResourceBrowseDao;
import io.renren.modules.resourceCar.dao.ResourceCarDao; import io.renren.modules.resourceCar.dao.ResourceCarDao;
import io.renren.modules.resourceCollection.dao.ResourceCollectionDao; import io.renren.modules.resourceCollection.dao.ResourceCollectionDao;
import io.renren.modules.resourceMountApply.dao.TResourceMountApplyDao;
import io.renren.modules.resourceMountApply.dto.TResourceMountApplyDTO; import io.renren.modules.resourceMountApply.dto.TResourceMountApplyDTO;
import io.renren.modules.resourceMountApply.service.TResourceMountApplyService; import io.renren.modules.resourceMountApply.service.TResourceMountApplyService;
import io.renren.modules.resourceScore.dao.ResourceScoreDao; import io.renren.modules.resourceScore.dao.ResourceScoreDao;
@ -57,6 +63,7 @@ import io.renren.modules.sys.service.SysUserService;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import okhttp3.*; import okhttp3.*;
import org.activiti.engine.HistoryService; import org.activiti.engine.HistoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.history.HistoricProcessInstance; import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricProcessInstanceQuery; import org.activiti.engine.history.HistoricProcessInstanceQuery;
import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.BooleanUtils;
@ -204,6 +211,33 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
@Autowired @Autowired
private EnkeService enkeService; private EnkeService enkeService;
@Autowired
private ResourceBrowseDao resourceBrowseDao;
@Autowired
private TResourceMountApplyDao resourceMountApplyDao;
@Autowired
private TAbilityApplicationDao abilityApplicationDao;
@Autowired
private RuntimeService runtimeService;
@Autowired
private SysNoticeDao sysNoticeDao;
@Autowired
private TMeetingroomMapper meetingroomMapper;
@Autowired
private TMeetingroomBookMapper meetingroomBookMapper;
@Autowired
private TDemandCommentDao demandCommentDao;
@Autowired
private TDemandDataDao tDemandDataDao;
@Override @Override
public QueryWrapper<ResourceEntity> getWrapper(Map<String, Object> params) { public QueryWrapper<ResourceEntity> getWrapper(Map<String, Object> params) {
@ -2048,7 +2082,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
// //
//}, executor); //}, executor);
//统计增加会议室搜索结果 //统计增加会客厅搜索结果
CompletableFuture<Void> meetingRoomCount = CompletableFuture.runAsync(() -> meetCountNew[0] = tMeetingroomMapper.selectByName(keyWorld).size(), executor); CompletableFuture<Void> meetingRoomCount = CompletableFuture.runAsync(() -> meetCountNew[0] = tMeetingroomMapper.selectByName(keyWorld).size(), executor);
CompletableFuture<Void> all = CompletableFuture.allOf(DBresourceCount, dataResourceCount, meetingRoomCount); CompletableFuture<Void> all = CompletableFuture.allOf(DBresourceCount, dataResourceCount, meetingRoomCount);
@ -2208,7 +2242,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return index; return index;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
Map<String, List<Map<String, Object>>> typeCountListMap3 = // 议室 Map<String, List<Map<String, Object>>> typeCountListMap3 = // 客厅
typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("99")).collect(Collectors.groupingBy(m -> m.get("deptName").toString())); typeCountListByApplyDept.stream().filter(index -> index.get("deptType").toString().equals("99")).collect(Collectors.groupingBy(m -> m.get("deptName").toString()));
resultList = resultList.stream().map(index -> { resultList = resultList.stream().map(index -> {
if (typeCountListMap3.keySet().contains(index.get("name").toString())) { // 该部门存在上架信息 if (typeCountListMap3.keySet().contains(index.get("name").toString())) { // 该部门存在上架信息
@ -2226,7 +2260,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return index; return index;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
if (!typeCountListMap3.isEmpty()) { // 仍然有会议室信息 if (!typeCountListMap3.isEmpty()) { // 仍然有会客厅信息
List<HashMap<String, Object>> temp = typeCountListMap3.keySet().stream().map(index_ -> { List<HashMap<String, Object>> temp = typeCountListMap3.keySet().stream().map(index_ -> {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
typeCountListMap3.get(index_).stream().forEach(count -> { typeCountListMap3.get(index_).stream().forEach(count -> {
@ -2248,7 +2282,7 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
map.put("zsk", "0"); map.put("zsk", "0");
map.put("sjzy", "0"); map.put("sjzy", "0");
return map; return map;
}).collect(Collectors.toList()); // 议室 }).collect(Collectors.toList()); // 客厅
resultList.addAll(temp); resultList.addAll(temp);
} }
@ -2554,4 +2588,145 @@ public class ResourceServiceImpl extends CrudServiceImpl<ResourceDao, ResourceEn
return resourceDao.getAppListByDept(deptId, key); return resourceDao.getAppListByDept(deptId, key);
} }
@Override
@Transactional
public void delResBySuAd(Long id) {
//resource,attr表
CompletableFuture<Void> delRes = CompletableFuture.runAsync(() -> {
resourceDao.deleteById(id);
Map<String, Object> map = new HashMap<>();
map.put("data_resource_id", id);
attrDao.deleteByMap(map);
}, executor);
//browse,collection,score,car表
CompletableFuture<Void> delResOthers = CompletableFuture.runAsync(() -> {
Map<String, Object> map = new HashMap<>();
map.put("resource_id", id);
resourceBrowseDao.deleteByMap(map);
resourceCarDao.deleteByMap(map);
resourceCollectionDao.deleteByMap(map);
resourceScoreDao.deleteByMap(map);
}, executor);
//删除上架流程实例及通知消息数据
CompletableFuture<Void> delMountData = CompletableFuture.runAsync(() -> {
List<Long> instanceIdList = resourceMountApplyDao.getInstanceIdByResId(id);
if (!instanceIdList.isEmpty()) {
instanceIdList.forEach(index -> this.delProcinstBySuAd(index, "能力上架", null));
}
}, executor);
//删除使用流程表单相关数据及通知消息数据
CompletableFuture<Void> delAbilityData = CompletableFuture.runAsync(() -> {
List<Long> instanceIdList = abilityApplicationDao.getInstanceIdByResId(id);
if (!instanceIdList.isEmpty()) {
instanceIdList.forEach(index -> this.delProcinstBySuAd(index, "能力使用", null));
}
}, executor);
//会客厅
CompletableFuture<Void> delRoom = CompletableFuture.runAsync(() -> {
Map<String, Object> map = new HashMap<>();
map.put("room_id", id);
meetingroomMapper.deleteById(id);
//获取当前会客厅预约记录用于删除消息数据
List<Long> idList = meetingroomBookMapper.selectBookIdByRoomId(id);
if (!idList.isEmpty()) {
//清除消息数据
idList.forEach(x -> {
Map<String, Object> deleteMap = new HashMap() {{
put("apply_id", x.toString());
}};
sysNoticeDao.deleteByMap(deleteMap);
});
}
meetingroomBookMapper.deleteByMap(map);
}, executor);
//删除申请表单数据
CompletableFuture<Void> delFormData = CompletableFuture.runAsync(() -> {
Map<String, Object> map = new HashMap<>();
map.put("resource_id", id);
resourceMountApplyDao.deleteByMap(map);
abilityApplicationDao.deleteByMap(map);
}, executor);
CompletableFuture<Void> all = CompletableFuture.allOf(delRes, delResOthers, delMountData, delAbilityData, delRoom, delFormData);
all.join();
}
@Override
public void delProcinstBySuAd(Long id, String type, Long resourceId) {
//删除会客厅申请单独处理
if ("会客厅申请".equals(type)) {
meetingroomBookMapper.deleteById(id);
} else {
//清除流程实例数据
CompletableFuture<Void> delProcinstHis = CompletableFuture.runAsync(() -> {
try {
historyService.deleteHistoricProcessInstance(id.toString());
} catch (Exception e) {
logger.info("该流程实例为运行中实例,已调用运行中实例相关方法删除!");
}
}, executor);
//清除流程实例数据
CompletableFuture<Void> delProcinstRun = CompletableFuture.runAsync(() -> {
try {
runtimeService.deleteProcessInstance(id.toString(), "");
} catch (Exception e) {
logger.info("该流程实例为已完成实例,已调用历史流程实例相关方法删除!");
}
}, executor);
//清除消息数据
CompletableFuture<Void> delMessage = CompletableFuture.runAsync(() -> {
Map<String, Object> deleteMap = new HashMap() {{
put("apply_id", id.toString());
}};
sysNoticeDao.deleteByMap(deleteMap);
}, executor);
//删除申请表单数据
CompletableFuture<Void> delFrom = CompletableFuture.runAsync(() -> {
Map<String, Object> deleteMap = new HashMap() {{
put("instance_id", id.toString());
}};
switch (type) {
case "能力上架": {
resourceMountApplyDao.deleteByMap(deleteMap);
}
break;
case "能力使用": {
abilityApplicationDao.deleteByMap(deleteMap);
}
break;
case "能力下架": {
resourceDao.updateByDelProcinst(resourceId);
}
break;
case "需求评论": {
demandCommentDao.deleteByMap(deleteMap);
}
break;
case "能力需求": {
tDemandDataDao.deleteByMap(deleteMap);
}
break;
default:
break;
}
}, executor);
CompletableFuture<Void> all = CompletableFuture.allOf(delProcinstHis, delProcinstRun, delMessage, delFrom);
all.join();
}
}
} }

View File

@ -55,7 +55,7 @@ public class ResourceCollectionServiceImpl extends CrudServiceImpl<ResourceColle
List<ResourceCollectionDTO> resourceCollectionDTOS = resourceCollectionDao.selectWithResource(params); List<ResourceCollectionDTO> resourceCollectionDTOS = resourceCollectionDao.selectWithResource(params);
resourceCollectionDTOS.forEach(item -> item.setResourceDTO(resourceService.selectWithAttrs(item.getResourceId()))); resourceCollectionDTOS.forEach(item -> item.setResourceDTO(resourceService.selectWithAttrs(item.getResourceId())));
result.addAll(resourceCollectionDTOS); result.addAll(resourceCollectionDTOS);
if (params.get("type") == null || "".equals(params.get("type"))) { if (params.get("type") == null || "".equals(params.get("type")) || "融合服务".equals(params.get("type"))) {
List<ResourceCollectionDTO> fuseCollectionDTOS = resourceCollectionDao.selectWithFuse(params); List<ResourceCollectionDTO> fuseCollectionDTOS = resourceCollectionDao.selectWithFuse(params);
fuseCollectionDTOS.forEach(item -> item.setFuseDTO(fuseService.getFuseById(item.getResourceId()))); fuseCollectionDTOS.forEach(item -> item.setFuseDTO(fuseService.getFuseById(item.getResourceId())));
result.addAll(fuseCollectionDTOS); result.addAll(fuseCollectionDTOS);

View File

@ -4,6 +4,10 @@ import io.renren.common.dao.BaseDao;
import io.renren.modules.resourceMountApply.entity.TResourceMountApplyEntity; import io.renren.modules.resourceMountApply.entity.TResourceMountApplyEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/** /**
* 资源挂载申请表单 * 资源挂载申请表单
* *
@ -13,4 +17,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface TResourceMountApplyDao extends BaseDao<TResourceMountApplyEntity> { public interface TResourceMountApplyDao extends BaseDao<TResourceMountApplyEntity> {
void updateInstanceId(String instanceId, Long id); void updateInstanceId(String instanceId, Long id);
List<Long> getInstanceIdByResId(Long id);
} }

View File

@ -14,7 +14,7 @@ big_date:
assignee_city_role_name: 市审批人 assignee_city_role_name: 市审批人
# 当某部门未设置部门审批人时,将使用该用户审批 # 当某部门未设置部门审批人时,将使用该用户审批
default_assignee_role_id: 1516728698224427010 default_assignee_role_id: 1516728698224427010
# 会议室审核员 # 会客厅审核员
assignee_meet_role_id: 1576849766277849089 assignee_meet_role_id: 1576849766277849089
# 需要进行统计数目的资源 type/需要进行统计申请的资源类型 applyType # 需要进行统计数目的资源 type/需要进行统计申请的资源类型 applyType
census: census:

View File

@ -142,5 +142,8 @@
where t.state = 1 where t.state = 1
and #{date} > t.book_date and #{date} > t.book_date
</select> </select>
<select id="selectBookIdByRoomId" resultType="java.lang.Long">
SELECT id FROM t_meetingroom_book WHERE room_id = #{id}
</select>
</mapper> </mapper>

View File

@ -124,7 +124,7 @@
SELECT SELECT
COUNT( id ) AS 'amount', COUNT( id ) AS 'amount',
'会议室' AS 'type' '会客厅' AS 'type'
FROM FROM
t_meetingroom_book tmb t_meetingroom_book tmb
) temp2 ) temp2
@ -288,4 +288,8 @@
AND taa.expire_date > now() AND taa.expire_date > now()
AND sd.id = #{deptId} AND sd.id = #{deptId}
</select> </select>
<select id="getInstanceIdByResId" resultType="java.lang.Long">
SELECT instance_id FROM t_ability_application WHERE resource_id = #{id}
</select>
</mapper> </mapper>

View File

@ -104,6 +104,19 @@
</foreach> </foreach>
</update> </update>
<update id="updateByDelProcinst">
UPDATE tb_data_resource
SET del_flag = 0,
undercarriage_reason = NULL,
undercarriage_user_name = NULL,
apply_number = NULL,
undercarriage_enclosure = NULL,
undercarriage_title = NULL,
undercarriage_phone = NULL,
undercarriage_enclosure_name = NULL
WHERE id = #{resourceId}
</update>
<select id="selectWithAttrs" resultMap="resourceDTO"> <select id="selectWithAttrs" resultMap="resourceDTO">
SELECT SELECT
DISTINCT tdr.id, DISTINCT tdr.id,

View File

@ -16,12 +16,15 @@
<result property="resourceId" column="resource_id"/> <result property="resourceId" column="resource_id"/>
<result property="resourceDTO" column="resource_dto" <result property="resourceDTO" column="resource_dto"
typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/> typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
<result property="createtime" column="createtime"/> <result property="createDate" column="create_date"/>
<result property="applyNumber" column="apply_number"/> <result property="applyNumber" column="apply_number"/>
</resultMap> </resultMap>
<update id="updateInstanceId"> <update id="updateInstanceId">
update t_resource_mount_apply set instance_id = #{instanceId} where id = #{id}; update t_resource_mount_apply set instance_id = #{instanceId} where id = #{id};
</update> </update>
<select id="getInstanceIdByResId" resultType="java.lang.Long">
SELECT CAST(instance_id AS DECIMAL(20)) FROM t_resource_mount_apply WHERE resource_id = #{id}
</select>
</mapper> </mapper>