Commit bd3dad17 authored by H2T's avatar H2T

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

parents 5a317c75 a1037911
package com.yeejoin.amos.boot.module.elevator.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
*
*
* @author system_generator
* @date 2023-11-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="AlertDispatchStatisticsDto", description="")
public class AlertDispatchStatisticsDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "监管单位ID")
private String supervisoryUnitId;
@ApiModelProperty(value = "监管单位名称")
private String supervisoryUnitName;
@ApiModelProperty(value = "监管单位编码")
private String supervisoryUnitOrgCode;
@ApiModelProperty(value = "统计月份")
private String statisticsDate;
@ApiModelProperty(value = "开始日期")
private String startDate;
@ApiModelProperty(value = "维保单位")
private String maintenanceUnit;
@ApiModelProperty(value = "派遣时间")
private String dispatchTime;
@ApiModelProperty(value = "救援地址")
private String address;
@ApiModelProperty(value = "救援到达时间")
private String arriveTime;
}
package com.yeejoin.amos.boot.module.elevator.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
*
*
* @author system_generator
* @date 2023-11-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tzs_alert_dispatch_statistics")
public class AlertDispatchStatistics extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 监管单位ID
*/
@TableField("supervisory_unit_id")
private String supervisoryUnitId;
/**
* 监管单位名称
*/
@TableField("supervisory_unit_name")
private String supervisoryUnitName;
/**
* 监管单位编码
*/
@TableField("supervisory_unit_org_code")
private String supervisoryUnitOrgCode;
/**
* 统计月份
*/
@TableField("statistics_date")
private String statisticsDate;
/**
* 开始日期
*/
@TableField("start_date")
private String startDate;
/**
* 维保单位
*/
@TableField("maintenance_unit")
private String maintenanceUnit;
/**
* 派遣时间
*/
@TableField("dispatch_time")
private String dispatchTime;
/**
* 救援地址
*/
@TableField("address")
private String address;
/**
* 救援到达时间
*/
@TableField("arrive_time")
private String arriveTime;
@TableField("end_date")
private String endDate;
}
package com.yeejoin.amos.boot.module.elevator.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertDispatchStatistics;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* Mapper 接口
*
* @author system_generator
* @date 2023-11-10
*/
public interface AlertDispatchStatisticsMapper extends BaseMapper<AlertDispatchStatistics> {
List<Map<String, String>> getMessage(@Param("startDate") String startDate, @Param("endDate") String endDate);
}
package com.yeejoin.amos.boot.module.elevator.api.service;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertDispatchStatistics;
import java.util.List;
/**
* 接口类
*
* @author system_generator
* @date 2023-11-10
*/
public interface IAlertDispatchStatisticsService {
void statisticalGeneration();
List<AlertDispatchStatistics> getList(String date);
}
package com.yeejoin.amos.boot.module.elevator.api.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import lombok.Data;
@Data
public class AlertDispatchStatisticsExportVo {
@ColumnWidth(10)
@ExcelProperty(value = "序号", index = 0)
private Integer number;
@ColumnWidth(30)
@ExcelProperty(value = "区域", index = 1)
private String supervisoryUnitName;
@ColumnWidth(30)
@ExcelProperty(value = "维保单位", index = 2)
private String maintenanceUnit;
@ColumnWidth(30)
@ExcelProperty(value = "接派时间", index = 3)
private String dispatchTime;
@ExcelProperty(value = "救援地址", index = 4)
private String address;
@ExcelProperty(value = "救援到达时间", index = 5)
private String arriveTime;
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.elevator.api.mapper.AlertDispatchStatisticsMapper">
<select id="getMessage" resultType="java.util.Map">
SELECT *
from (
SELECT concat(ROUND(date_part('second', arrive_time - dispatch_time) / 60, 2), '分钟') as arriveTime,
(
SELECT ME_UNIT_NAME
from idx_biz_jg_maintenance_record_info
WHERE SEQUENCE_NBR = response_org_id limit 1
) as maintenanceUnit,
DATE_FORMAT(arrive_time, '%Y年%m月%d日%H时%i分%s秒') as dispatchTime,
(SELECT ORG_BRANCH_CODE
from idx_biz_jg_supervision_info
where RECORD = (SELECT equipment_id from tz_alert_called where sequence_nbr = alert_id)) as orgCode,
(SELECT address from tz_alert_called where sequence_nbr = alert_id) as address from tz_dispatch_task
where org_type_code = 'levelOneUnit'
and arrive_time is not null
and dispatch_time between #{startDate}
and #{endDate}
and alert_id in (SELECT sequence_nbr from tz_alert_called where alarm_type_code = '960' and call_time between #{startDate} and #{endDate})
)
WHERE orgCode is not null
</select>
</mapper>
...@@ -49,6 +49,9 @@ public class StatisticsController extends BaseController { ...@@ -49,6 +49,9 @@ public class StatisticsController extends BaseController {
@Autowired @Autowired
private IAlertMaintenanceUnitStatisticsService alertMaintenanceUnitStatisticsService; private IAlertMaintenanceUnitStatisticsService alertMaintenanceUnitStatisticsService;
@Autowired
private IAlertDispatchStatisticsService alertDispatchStatisticsService;
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/statisticalGeneration") @GetMapping(value = "/statisticalGeneration")
@ApiOperation(httpMethod = "GET", value = "生成统计数据", notes = "生成统计数据") @ApiOperation(httpMethod = "GET", value = "生成统计数据", notes = "生成统计数据")
...@@ -295,4 +298,52 @@ public class StatisticsController extends BaseController { ...@@ -295,4 +298,52 @@ public class StatisticsController extends BaseController {
} }
ExcelUtil.createTemplate(response, "月度故障高发维保单位统计", "月度故障高发维保单位统计", exportVos, AlertMaintenanceUnitStatisticsExportVo.class, null, false); ExcelUtil.createTemplate(response, "月度故障高发维保单位统计", "月度故障高发维保单位统计", exportVos, AlertMaintenanceUnitStatisticsExportVo.class, null, false);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/statisticalDispatchGeneration")
@ApiOperation(httpMethod = "GET", value = "生成统计数据", notes = "生成统计数据")
public ResponseModel<Object> statisticalDispatchGeneration() {
alertDispatchStatisticsService.statisticalGeneration();
return ResponseHelper.buildResponse("success");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/dispatchList")
@ApiOperation(httpMethod = "GET", value = "查询列表", notes = "查询列表")
public ResponseModel<Object> dispatchList(@RequestParam(value = "date", required = false) String date) {
if (ObjectUtils.isEmpty(date)) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
Date nowDate = cal.getTime();
date = format.format(nowDate);
}
Page<AlertDispatchStatistics> alertRescueStatisticsPage = new Page<>();
alertRescueStatisticsPage.setRecords(alertDispatchStatisticsService.getList(date));
return ResponseHelper.buildResponse(alertRescueStatisticsPage);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/exportDispatchData")
@ApiOperation(httpMethod = "GET", value = "月度故障高发维保单位统计导出", notes = "月度故障高发维保单位统计导出")
public void exportDispatchData(HttpServletResponse response, @RequestParam(value = "date", required = false) String date) throws ParseException {
if (ObjectUtils.isEmpty(date)) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
Date nowDate = cal.getTime();
date = format.format(nowDate);
}
ArrayList<AlertDispatchStatisticsExportVo> exportVos = new ArrayList<>();
List<AlertDispatchStatistics> list = alertDispatchStatisticsService.getList(date);
int number = 1;
for (AlertDispatchStatistics item : list) {
AlertDispatchStatisticsExportVo vo = new AlertDispatchStatisticsExportVo();
BeanUtil.copyProperties(item, vo);
vo.setNumber(number);
number = number + 1;
exportVos.add(vo);
}
ExcelUtil.createTemplate(response, "困人救援超时情况统计", "困人救援超时情况统计", exportVos, AlertDispatchStatisticsExportVo.class, null, false);
}
} }
package com.yeejoin.amos.boot.module.elevator.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.elevator.api.dto.AlertDispatchStatisticsDto;
import com.yeejoin.amos.boot.module.elevator.api.entity.AlertDispatchStatistics;
import com.yeejoin.amos.boot.module.elevator.api.mapper.AlertDispatchStatisticsMapper;
import com.yeejoin.amos.boot.module.elevator.api.service.IAlertDispatchStatisticsService;
import net.javacrumbs.shedlock.spring.annotation.SchedulerLock;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 服务实现类
*
* @author system_generator
* @date 2023-11-10
*/
@Service
public class AlertDispatchStatisticsServiceImpl extends BaseService<AlertDispatchStatisticsDto, AlertDispatchStatistics, AlertDispatchStatisticsMapper> implements IAlertDispatchStatisticsService {
@Autowired
private AlertStatisticsServiceImpl alertStatisticsService;
@Override
@Scheduled(cron = "0 0 0 1 * ?")
@SchedulerLock(name = "AlertDispatchStatisticsServiceImpl", lockAtMostFor = "PT10M", lockAtLeastFor = "PT10M")
public void statisticalGeneration() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.MONTH, -1);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMinimum(Calendar.DAY_OF_MONTH));
Date firstDayOfMonth = cal.getTime();
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH));
Date lastDayOfMonth = cal.getTime();
List<LinkedHashMap> supervisionList = alertStatisticsService.getSupervisionList();
List<Map<String, String>> message = this.baseMapper.getMessage(format.format(firstDayOfMonth) + " 00:00:00", format.format(lastDayOfMonth) + " 23:59:59");
ArrayList<AlertDispatchStatistics> list = new ArrayList<>();
if (!ObjectUtils.isEmpty(supervisionList)) {
supervisionList.forEach(item -> {
List<Map<String, String>> collect = message.stream().filter(detail -> detail.get("orgCode").startsWith(String.valueOf(item.get("orgCode")))).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect)) {
collect.forEach(data -> {
AlertDispatchStatistics alertDispatchStatistics = new AlertDispatchStatistics();
BeanUtil.copyProperties(data, alertDispatchStatistics);
alertDispatchStatistics.setSupervisoryUnitName(String.valueOf(item.get("companyName")));
alertDispatchStatistics.setSupervisoryUnitOrgCode(String.valueOf(item.get("orgCode")));
alertDispatchStatistics.setSupervisoryUnitId(String.valueOf(item.get("sequenceNbr")));
alertDispatchStatistics.setStartDate(format.format(firstDayOfMonth));
alertDispatchStatistics.setEndDate(format.format(lastDayOfMonth));
alertDispatchStatistics.setStatisticsDate(format.format(lastDayOfMonth).substring(0, 7));
list.add(alertDispatchStatistics);
});
}
});
if (!ObjectUtils.isEmpty(list)) {
this.saveBatch(list);
}
}
}
@Override
public List<AlertDispatchStatistics> getList(String date) {
LambdaQueryWrapper<AlertDispatchStatistics> lambda = new QueryWrapper<AlertDispatchStatistics>().lambda();
lambda.eq(AlertDispatchStatistics::getStatisticsDate, date);
return this.baseMapper.selectList(lambda);
}
}
\ No newline at end of file
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<if test="companyDto.useCode != '' and companyDto.useCode != null"> <if test="companyDto.useCode != '' and companyDto.useCode != null">
and use_code like concat('%',#{companyDto.useCode},'%') and use_code like concat('%',#{companyDto.useCode},'%')
</if> </if>
<if test="companyDto.useCode != '' and companyDto.useCode != null"> <if test="companyDto.completeNormal != '' and companyDto.completeNormal != null">
and completeNormal like concat('%',#{companyDto.completeNormal},'%') and completeNormal like concat('%',#{companyDto.completeNormal},'%')
</if> </if>
<if test='companyDto.ids != null and companyDto.ids.size > 0'> and sequence_nbr in <if test='companyDto.ids != null and companyDto.ids.size > 0'> and sequence_nbr in
......
...@@ -140,7 +140,9 @@ public class TzsUserInfoController extends BaseController { ...@@ -140,7 +140,9 @@ public class TzsUserInfoController extends BaseController {
queryWrapper2.eq("sequence_nbr",rowId); queryWrapper2.eq("sequence_nbr",rowId);
queryWrapper2.eq("is_delete",false); queryWrapper2.eq("is_delete",false);
TzsUserInfo selectOne = tzsUserInfoMapper.selectOne(queryWrapper2); TzsUserInfo selectOne = tzsUserInfoMapper.selectOne(queryWrapper2);
tzsUserInfoServiceImpl.deleteGroupAndPersonRelation(selectOne.getPostName(),selectOne.getAmosUserId()); if(!ObjectUtils.isEmpty(selectOne.getAmosUserId())){
tzsUserInfoServiceImpl.deleteGroupAndPersonRelation(selectOne.getPostName(),selectOne.getAmosUserId());
}
tzsUserInfo.setUnitName(companyModel.getCompanyName()); tzsUserInfo.setUnitName(companyModel.getCompanyName());
tzsUserInfo.setUnitCode(companyModel.getCompanyCode()); tzsUserInfo.setUnitCode(companyModel.getCompanyCode());
...@@ -151,12 +153,16 @@ public class TzsUserInfoController extends BaseController { ...@@ -151,12 +153,16 @@ public class TzsUserInfoController extends BaseController {
tzsUserInfo.setRecDate(new Date()); tzsUserInfo.setRecDate(new Date());
String postName = tzsUserInfoServiceImpl.setPostName(tzsUserInfo.getPost()); String postName = tzsUserInfoServiceImpl.setPostName(tzsUserInfo.getPost());
tzsUserInfo.setPostName(postName); tzsUserInfo.setPostName(postName);
// 添加新的人员与组的关系 if(!ObjectUtils.isEmpty(selectOne.getAmosUserId())){
String[] split = postName.split(","); // 添加新的人员与组的关系
List<String> ids = new ArrayList<>(); String[] split = postName.split(",");
ids.add(selectOne.getAmosUserId()); List<String> ids = new ArrayList<>();
for (String s : split) { ids.add(selectOne.getAmosUserId());
Privilege.groupUserClient.create(TwoStipulateGroupEnum.getId.get(s), ids); for (String s : split) {
if(!ObjectUtils.isEmpty(TwoStipulateGroupEnum.getId.get(s))){
Privilege.groupUserClient.create(TwoStipulateGroupEnum.getId.get(s), ids);
}
}
} }
tzsUserInfoServiceImpl.updateById(tzsUserInfo); tzsUserInfoServiceImpl.updateById(tzsUserInfo);
// if (!ObjectUtils.isEmpty(list)){ // if (!ObjectUtils.isEmpty(list)){
...@@ -330,7 +336,7 @@ public class TzsUserInfoController extends BaseController { ...@@ -330,7 +336,7 @@ public class TzsUserInfoController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getGroupAndPersonInfo") @GetMapping(value = "/getGroupAndPersonInfo")
@ApiOperation(httpMethod = "GET", value = "通过组id查询组及组内人员信息", notes = "通过组id查询组及组内人员信息") @ApiOperation(httpMethod = "GET", value = "通过组id查询组及组内人员信息", notes = "通过组id查询组及组内人员信息")
public ResponseModel<List<GroupAndPersonInfoDto>> getGroupAndPersonInfo(@RequestParam(value = "groupId") Long groupId) { public ResponseModel<List<GroupAndPersonInfoDto>> getGroupAndPersonInfo(@RequestParam(value = "groupId") Long groupId) {
......
...@@ -23,6 +23,7 @@ import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService; ...@@ -23,6 +23,7 @@ import com.yeejoin.amos.boot.module.tcm.api.service.ITzsUserInfoService;
import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo; import com.yeejoin.amos.boot.module.tcm.api.vo.TzsUserInfoVo;
import com.yeejoin.amos.component.feign.model.FeignClientResult; import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.feign.utils.FeignUtil; import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
...@@ -77,6 +78,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -77,6 +78,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
private final String LOCK = "LOCK"; private final String LOCK = "LOCK";
@Autowired @Autowired
AmosRequestContext amosRequestContext;
@Autowired
private TzsUserQualificationsServiceImpl tzsUserQualificationsService; private TzsUserQualificationsServiceImpl tzsUserQualificationsService;
@Override @Override
...@@ -165,8 +169,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -165,8 +169,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
List<TzsUserInfo> tzsUserInfos = tzsUserInfoMapper.selectList(lambda); List<TzsUserInfo> tzsUserInfos = tzsUserInfoMapper.selectList(lambda);
for (TzsUserInfo userInfo : tzsUserInfos) { for (TzsUserInfo userInfo : tzsUserInfos) {
tzsUserEquipMapper.delete(new QueryWrapper<TzsUserEquip>().eq("user_seq", userInfo.getSequenceNbr())); tzsUserEquipMapper.delete(new QueryWrapper<TzsUserEquip>().eq("user_seq", userInfo.getSequenceNbr()));
Privilege.agencyUserClient.multDeleteUser(userInfo.getAmosUserId()); if(!ObjectUtils.isEmpty(userInfo.getAmosUserId())){
deleteGroupAndPersonRelation(userInfo.getPostName(),userInfo.getAmosUserId()); Privilege.agencyUserClient.multDeleteUser(userInfo.getAmosUserId());
deleteGroupAndPersonRelation(userInfo.getPostName(),userInfo.getAmosUserId());
}
} }
} }
...@@ -175,7 +181,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -175,7 +181,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
public void deleteGroupAndPersonRelation(String postName, String amosUserId) { public void deleteGroupAndPersonRelation(String postName, String amosUserId) {
String[] split = postName.split(","); String[] split = postName.split(",");
for (String s : split) { for (String s : split) {
Privilege.groupUserClient.deleteGroupUser(TwoStipulateGroupEnum.getId.get(s), amosUserId); if(!ObjectUtils.isEmpty(TwoStipulateGroupEnum.getId.get(s))){
Privilege.groupUserClient.deleteGroupUser(TwoStipulateGroupEnum.getId.get(s), amosUserId);
}
} }
} }
...@@ -448,6 +456,11 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -448,6 +456,11 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
@Override @Override
public List<GroupAndPersonInfoDto> getGroupAndPersonInfo(Long groupId) { public List<GroupAndPersonInfoDto> getGroupAndPersonInfo(Long groupId) {
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setToken(amosRequestContext.getToken());
List<GroupAndPersonInfoDto> result = new ArrayList<>(); List<GroupAndPersonInfoDto> result = new ArrayList<>();
List<AgencyUserModel> agencyUserModelList = Privilege.groupUserClient.queryForList(groupId).getResult(); List<AgencyUserModel> agencyUserModelList = Privilege.groupUserClient.queryForList(groupId).getResult();
List<CompanyModel> companyModelList = Privilege.companyClient.queryForCompanyList(null, "company").getResult(); List<CompanyModel> companyModelList = Privilege.companyClient.queryForCompanyList(null, "company").getResult();
......
...@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
...@@ -146,6 +147,7 @@ public class PlanController extends AbstractBaseController { ...@@ -146,6 +147,7 @@ public class PlanController extends AbstractBaseController {
@RequestMapping(value = "/addPlan", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/addPlan", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse checkPlanAdd(@ApiParam(value = "巡检计划", required = true) @RequestBody Plan param) { public CommonResponse checkPlanAdd(@ApiParam(value = "巡检计划", required = true) @RequestBody Plan param) {
try { try {
String userId = RequestContext.getExeUserId();
if (param.getDayRate() == 1) { if (param.getDayRate() == 1) {
long dayBeginTime = param.getDayBegin().getTime(); long dayBeginTime = param.getDayBegin().getTime();
long dayEndTime = param.getDayEnd().getTime(); long dayEndTime = param.getDayEnd().getTime();
...@@ -159,25 +161,25 @@ public class PlanController extends AbstractBaseController { ...@@ -159,25 +161,25 @@ public class PlanController extends AbstractBaseController {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("org_code", loginOrgCode); map.put("org_code", loginOrgCode);
List<String> userGroupIds = Objects.nonNull(param.getUserGroupId()) ? Arrays.asList(param.getUserGroupId().split(",")) : Collections.emptyList(); // List<String> userGroupIds = Objects.nonNull(param.getUserGroupId()) ? Arrays.asList(param.getUserGroupId().split(",")) : Collections.emptyList();
StringBuilder userIdSB = new StringBuilder(), userDeptSB = new StringBuilder(), userNameSB = new StringBuilder(); // StringBuilder userIdSB = new StringBuilder(), userDeptSB = new StringBuilder(), userNameSB = new StringBuilder();
ResponseModel<List<UserDetailsDto>> response; // ResponseModel<List<UserDetailsDto>> response;
for (String userGroupId : userGroupIds) { // for (String userGroupId : userGroupIds) {
response = tzsFeign.getGroupAndPersonInfo(Long.valueOf(userGroupId)); // response = tzsFeign.getGroupAndPersonInfo(Long.valueOf(userGroupId));
if (response.getStatus() == 200) { // if (response.getStatus() == 200) {
List<UserDetailsDto> resultList = response.getResult(); // List<UserDetailsDto> resultList = response.getResult();
for (UserDetailsDto udd : resultList) { // for (UserDetailsDto udd : resultList) {
userIdSB.append(",").append(udd.getUserId()); // userIdSB.append(",").append(udd.getUserId());
userDeptSB.append(",").append(udd.getUserId()).append("@").append(udd.getUnitOrgCode()).append("@").append(udd.getUnitName()); // userDeptSB.append(",").append(udd.getUserId()).append("@").append(udd.getUnitOrgCode()).append("@").append(udd.getUnitName());
userNameSB.append(",").append(udd.getUserName()); // userNameSB.append(",").append(udd.getUserName());
} // }
} // }
} // }
String userId = StringUtils.hasText(userIdSB) ? userIdSB.substring(1) : ""; // String userId = StringUtils.hasText(userIdSB) ? userIdSB.substring(1) : "";
String userDept = StringUtils.hasText(userDeptSB) ? userDeptSB.substring(1) : ""; // String userDept = StringUtils.hasText(userDeptSB) ? userDeptSB.substring(1) : "";
String userName = StringUtils.hasText(userNameSB) ? userNameSB.substring(1) : ""; // String userName = StringUtils.hasText(userNameSB) ? userNameSB.substring(1) : "";
param.setUserId(userId); // param.setUserId(userId);
param.setUserDept(userDept); // param.setUserDept(userDept);
param.setBizOrgCode(loginOrgCode); param.setBizOrgCode(loginOrgCode);
param.setBizOrgName(getCompanyName(reginParams)); param.setBizOrgName(getCompanyName(reginParams));
......
...@@ -107,8 +107,10 @@ public class PlanTaskController extends AbstractBaseController { ...@@ -107,8 +107,10 @@ public class PlanTaskController extends AbstractBaseController {
@ApiParam(value = "分页参数", defaultValue = "current=0&pageSize=10或pageNumber0&pageSize=10") CommonPageable pageable) { @ApiParam(value = "分页参数", defaultValue = "current=0&pageSize=10或pageNumber0&pageSize=10") CommonPageable pageable) {
HashMap<String, Object> params = new HashMap<String, Object>(); HashMap<String, Object> params = new HashMap<String, Object>();
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
String userId = RequestContext.getExeUserId();
PlanTaskPageParamUtil.fillPlanTask(queryRequests, params); PlanTaskPageParamUtil.fillPlanTask(queryRequests, params);
params.put("orgCode", reginParams.getPersonIdentity().getBizOrgCode()); params.put("orgCode", reginParams.getPersonIdentity().getBizOrgCode());
params.put("userId", userId);
params.put("pageSize", pageable.getPageSize()); params.put("pageSize", pageable.getPageSize());
params.put("offset", pageable.getPageNumber() * pageable.getPageSize()); params.put("offset", pageable.getPageNumber() * pageable.getPageSize());
if (ObjectUtils.isEmpty(params.get("orderBy"))) { if (ObjectUtils.isEmpty(params.get("orderBy"))) {
......
...@@ -53,9 +53,9 @@ public class PlanServiceImpl implements IPlanService { ...@@ -53,9 +53,9 @@ public class PlanServiceImpl implements IPlanService {
String org_code = map.get("org_code") == null ? "":map.get("org_code").toString(); String org_code = map.get("org_code") == null ? "":map.get("org_code").toString();
String user_id = map.get("user_id")== null ? "":map.get("user_id").toString(); String user_id = map.get("user_id")== null ? "":map.get("user_id").toString();
if(StringUtil.isNotEmpty(map.get("dept_id"))){ // if(StringUtil.isNotEmpty(map.get("dept_id"))){
param.setDeptId(map.get("dept_id").toString()); // param.setDeptId(map.get("dept_id").toString());
} // }
param.setOrgCode(org_code); param.setOrgCode(org_code);
param.setStatus(Byte.parseByte(XJConstant.PLAN_STATUS_START)); param.setStatus(Byte.parseByte(XJConstant.PLAN_STATUS_START));
param.setNextGenDate(DateUtil.getIntervalDate(new Date(),0)); param.setNextGenDate(DateUtil.getIntervalDate(new Date(),0));
......
package com.yeejoin.amos.patrol.quartz; package com.yeejoin.amos.patrol.quartz;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yeejoin.amos.component.feign.config.InnerInvokException; import com.yeejoin.amos.component.feign.config.InnerInvokException;
...@@ -18,6 +19,7 @@ import com.yeejoin.amos.patrol.business.dao.mapper.PlanTaskMapper; ...@@ -18,6 +19,7 @@ import com.yeejoin.amos.patrol.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.patrol.business.dao.repository.*; import com.yeejoin.amos.patrol.business.dao.repository.*;
import com.yeejoin.amos.patrol.business.entity.mybatis.PlanTaskPointInputItemBo; import com.yeejoin.amos.patrol.business.entity.mybatis.PlanTaskPointInputItemBo;
import com.yeejoin.amos.patrol.business.feign.JcsFeignClient; import com.yeejoin.amos.patrol.business.feign.JcsFeignClient;
import com.yeejoin.amos.patrol.business.param.CheckInputParam;
import com.yeejoin.amos.patrol.business.param.MsgConfigParam; import com.yeejoin.amos.patrol.business.param.MsgConfigParam;
import com.yeejoin.amos.patrol.business.service.intfc.IMessageService; import com.yeejoin.amos.patrol.business.service.intfc.IMessageService;
import com.yeejoin.amos.patrol.business.service.intfc.IPatrolDataSyncService; import com.yeejoin.amos.patrol.business.service.intfc.IPatrolDataSyncService;
...@@ -104,6 +106,9 @@ public class JobService implements IJobService { ...@@ -104,6 +106,9 @@ public class JobService implements IJobService {
@Autowired @Autowired
private WebMqttComponent webMqttComponent; private WebMqttComponent webMqttComponent;
@Autowired
IInputItemDao inputItemDao;
@Autowired @Autowired
JcsFeignClient jcsFeignClient; JcsFeignClient jcsFeignClient;
...@@ -417,7 +422,11 @@ public class JobService implements IJobService { ...@@ -417,7 +422,11 @@ public class JobService implements IJobService {
check = checkMap.get(arg.getPointId()); check = checkMap.get(arg.getPointId());
} }
if (arg.getInputItemId() != null) { if (arg.getInputItemId() != null) {
InputItem inputItem = inputItemDao.findById(arg.getInputItemId()).get();
CheckInput checkInput = new CheckInput(); CheckInput checkInput = new CheckInput();
checkInput = paraseSelect(checkInput, inputItem.getDataJson(), inputItem.getIsScore());
checkInput.setCheckId(check.getId()); checkInput.setCheckId(check.getId());
checkInput.setInputId(arg.getInputItemId()); checkInput.setInputId(arg.getInputItemId());
checkInput.setIsOk(CheckStatusEnum.QUALIFIED.getCode()); checkInput.setIsOk(CheckStatusEnum.QUALIFIED.getCode());
...@@ -436,6 +445,21 @@ public class JobService implements IJobService { ...@@ -436,6 +445,21 @@ public class JobService implements IJobService {
} }
private CheckInput paraseSelect(CheckInput checkInput, String json, String isScore) {
JSONArray jsonArray = JSONArray.parseArray(json);
if (!ObjectUtils.isEmpty(jsonArray)) {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String validateName = jsonObject.getString("name");
String validateIsOk = jsonObject.getString("isOk");
if(validateIsOk.equals("是")) {
checkInput.setInputValue(validateName);
}
}
}
return checkInput;
}
private void removeJob(String jobName) { private void removeJob(String jobName) {
log.debug("removeJob==jobName==" + jobName); log.debug("removeJob==jobName==" + jobName);
QuartzManager.removeJob(jobName); QuartzManager.removeJob(jobName);
......
eureka.client.serviceUrl.defaultZone=http://${spring.security.user.name}:${spring.security.user.password}@172.16.10.210:10001/eureka/ eureka.client.serviceUrl.defaultZone=http://${spring.security.user.name}:${spring.security.user.password}@172.16.10.243:10001/eureka/
eureka.client.registry-fetch-interval-seconds=5 eureka.client.registry-fetch-interval-seconds=5
spring.security.user.name=admin spring.security.user.name=admin
spring.security.user.password=a1234560 spring.security.user.password=a1234560
...@@ -20,7 +20,7 @@ ribbon.MaxAutoRetries = 1 ...@@ -20,7 +20,7 @@ ribbon.MaxAutoRetries = 1
xiy_amos_satety_business xiy_amos_satety_business
spring.reactor.debug-agent.enabled=true spring.reactor.debug-agent.enabled=true
#DB properties: #DB properties:
spring.datasource.url=jdbc:vastbase://36.46.137.116:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true spring.datasource.url=jdbc:vastbase://172.16.10.243:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
spring.datasource.username=admin spring.datasource.username=admin
spring.datasource.password=Yeejoin@2023 spring.datasource.password=Yeejoin@2023
spring.datasource.driver-class-name = cn.com.vastbase.Driver spring.datasource.driver-class-name = cn.com.vastbase.Driver
...@@ -37,8 +37,8 @@ security.appKey=studio_normalapp_3056965 ...@@ -37,8 +37,8 @@ security.appKey=studio_normalapp_3056965
#redis 配置 #redis 配置
spring.redis.database=1 spring.redis.database=1
spring.redis.host=172.16.10.210 spring.redis.host=172.16.10.243
spring.redis.port=16379 spring.redis.port=6379
spring.redis.password=yeejoin@2020 spring.redis.password=yeejoin@2020
spring.redis.jedis.pool.max-active=200 spring.redis.jedis.pool.max-active=200
spring.redis.jedis.pool.max-wait=-1 spring.redis.jedis.pool.max-wait=-1
...@@ -47,7 +47,7 @@ spring.redis.jedis.pool.min-idle=0 ...@@ -47,7 +47,7 @@ spring.redis.jedis.pool.min-idle=0
spring.redis.timeout=1000 spring.redis.timeout=1000
#巡检计划定时任务 #巡检计划定时任务
jobs.cron = 0 0/1 22-23 * * ? jobs.cron = 0 2 18 * * ?
#邮件配置 #邮件配置
#params.mailPush = false #params.mailPush = false
...@@ -70,13 +70,13 @@ emq.patrol.sync.switch=true ...@@ -70,13 +70,13 @@ emq.patrol.sync.switch=true
params.work.flow.normalProcessDefinitionKey=normalHazardManagement params.work.flow.normalProcessDefinitionKey=normalHazardManagement
params.work.flow.processDefinitionKey=hazardManagement params.work.flow.processDefinitionKey=hazardManagement
params.work.flow.address=http://172.16.10.210:30040 params.work.flow.address=http://172.16.10.243:30040
params.spc.address=http://172.16.3.89:9001 params.spc.address=http://172.16.3.89:9001
#websocket #websocket
params.remoteWebsocketUrl=http://172.16.10.210:8080/ params.remoteWebsocketUrl=http://172.16.10.243:8080/
#websocket send message url #websocket send message url
params.remoteWebSocketSendMsgUrl=http://172.16.10.210:10601/ params.remoteWebSocketSendMsgUrl=http://172.16.10.243:10601/
#上传文件配置 #上传文件配置
spring.http.multipart.maxFileSize = 80480000 spring.http.multipart.maxFileSize = 80480000
...@@ -87,12 +87,12 @@ linux.img.path = / ...@@ -87,12 +87,12 @@ linux.img.path = /
## emqx ## emqx
emqx.clean-session=false emqx.clean-session=false
emqx.client-id=${spring.application.name}-${random.int[1024,65536]} emqx.client-id=${spring.application.name}-${random.int[1024,65536]}
emqx.broker=tcp://36.46.151.113:1883 emqx.broker=tcp://172.16.10.243:1883
emqx.client-user-name=super emqx.client-user-name=super
emqx.client-password=123456 emqx.client-password=123456
emqx.keepAliveInterval=1000 emqx.keepAliveInterval=1000
file.url=http://172.16.10.210:9000/ file.url=http://172.16.10.243:9000/
##代码中有部分逻辑冲突需要处理 为区分机场和电力逻辑 增加开关 若为true 则为机场逻辑 为false 则为电力逻辑 ##代码中有部分逻辑冲突需要处理 为区分机场和电力逻辑 增加开关 若为true 则为机场逻辑 为false 则为电力逻辑
logic=false logic=false
...@@ -101,4 +101,22 @@ logic=false ...@@ -101,4 +101,22 @@ logic=false
is.zxj=true is.zxj=true
## \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u052E\uFFFD\uFFFD\uFFFD\u03F2\uFFFDID ## \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u052E\uFFFD\uFFFD\uFFFD\u03F2\uFFFDID
fire-rescue=1432549862557130753 fire-rescue=1432549862557130753
\ No newline at end of file
## ES properties:
elasticsearch.username=elastic
elasticsearch.password=a123456
spring.elasticsearch.rest.uris=http://172.16.10.243:9200
## unit(h)
alertcall.es.synchrony.time=48
management.health.elasticsearch.enabled=false
executor.queueCapacity=5
executor.namePrefix=tzs_task
executor.keepAliveSeconds=30000
spring.jpa.properties.hibernate.jdbc.batch_size=1000
spring.jpa.properties.hibernate.jdbc.batch_versioned_data=true
spring.jpa.properties.hibernate.order_inserts=true
spring.jpa.properties.hibernate.order_updates =true
...@@ -413,26 +413,13 @@ ...@@ -413,26 +413,13 @@
<select id="getPlanTaskPoints" resultType="Map"> <select id="getPlanTaskPoints" resultType="Map">
SELECT SELECT
p.name,
p.id pointId,
p.point_no pointNO,
p.offline,
ptd.status, ptd.status,
ptd.is_finish finish, P.NAME,
p.is_fixed isFixed, P.ID pointId
pt.route_id routeId,
c.id checkId,
prp.order_no orderNo
FROM FROM
p_plan_task_detail ptd ( SELECT * FROM p_plan_task_detail ptd WHERE ptd.task_no = #{planTaskId} ) ptd
LEFT JOIN p_plan_task pt ON pt.id = ptd.task_no LEFT JOIN (SELECT * from p_point where is_delete = 0) P ON P.ID = ptd.point_id
LEFT JOIN p_point p ON p.id = ptd.point_id
LEFT JOIN p_check c ON c.plan_task_detail_id = ptd.id
LEFT JOIN p_route_point prp ON prp.point_id = ptd.point_id AND prp.route_id = pt.route_id
WHERE
p.is_delete = 0
<if test="planTaskId != null and planTaskId > 0 ">and pt.id = #{planTaskId}</if>
ORDER BY orderNo
</select> </select>
<select id="getCurrentPlanTaskCount" resultType="int" parameterType="long"> <select id="getCurrentPlanTaskCount" resultType="int" parameterType="long">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment