Commit eea99d56 authored by chenzhao's avatar chenzhao

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

# Conflicts: # amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/FailureDetailsServiceImpl.java
parents d819740f 9bcbbe81
......@@ -32,6 +32,11 @@ public class FailureRepairlog extends BaseEntity {
*/
@TableField("process_auditor")
private String processAuditor;
/**
* 流程处理人
*/
@TableField("process_auditor_name")
private String processAuditorName;
/**
* 处理人所属部门
......
......@@ -9,7 +9,7 @@ import com.yeejoin.amos.boot.module.common.api.entity.FailureRepairlog;
* @date 2021-08-12
*/
public interface IFailureRepairlogService {
public FailureRepairlog findByprocessAuditorId(Long userId);
public FailureRepairlog findByprocessAuditor(String userId);
public FailureRepairlog findByFaultId(Long faultId) ;
......
......@@ -6,7 +6,7 @@ public class CalendarStatusCountRespone {
/**
* 个数
*/
private Double count;
private Long count;
/**
* 状态
*/
......@@ -16,7 +16,7 @@ public class CalendarStatusCountRespone {
public double getCount() {
return count;
}
public void setCount(double count) {
public void setCount(Long count) {
this.count = count;
}
public String getStatus() {
......
......@@ -5,7 +5,7 @@
<select id="queryAlertStatusCount" resultType="java.util.Map">
SELECT
count( 1 ) calledCount,
sum( CASE WHEN father_alert = null THEN 1 ELSE 0 END ) majorAlertCount,
sum( CASE WHEN father_alert is null THEN 1 ELSE 0 END ) majorAlertCount,
sum( CASE WHEN alarm_type_code = 'KRJY' THEN 1 ELSE 0 END ) sleepyIncidentCount,
sum( CASE WHEN alarm_type_code = 'GZWX' THEN 1 ELSE 0 END ) faultRescueCount,
sum( CASE WHEN alarm_type_code = 'TSZX' THEN 1 ELSE 0 END ) suggestionsCount
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
......@@ -10,6 +11,7 @@ import java.util.Map;
import java.util.Random;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.alibaba.fastjson.JSONArray;
......@@ -24,7 +27,9 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itextpdf.text.pdf.PdfStructTreeController.returnType;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.common.api.dto.FailureDetailsDto;
......@@ -73,7 +78,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
IFailureRepairlogService failureRepairlog;
public static String EMERGENCY_COMMAND = "应急指挥科";
public static String[] PROCESS_NAME = {"提交维修单","审核","维修","验收"};
public static String[] PROCESS_NAME = { "提交维修单", "审核", "维修", "验收" };
private final Logger logger = LoggerFactory.getLogger(FailureDetailsServiceImpl.class);
......@@ -84,29 +89,26 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
/**
* 分页查询
*/
public IPage<FailureDetails> queryAllPage(long size,
long current) {
public IPage<FailureDetails> queryAllPage(long size, long current) {
QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
wrapper.orderByDesc("submission_time");
IPage<FailureDetails> page = new Page<>(current, size);
return baseMapper.selectPage(page, wrapper);
return baseMapper.selectPage(page, wrapper);
}
public IPage<FailureDetails> queryForFailureDetailsPage(Page<FailureDetails> page, AgencyUserModel userInfo,
Integer type) {
public IPage<FailureDetails> queryForFailureDetailsPage(Page<FailureDetails> page,
AgencyUserModel userInfo, Integer type) {
if ( type.equals(SELECY_ALL) ) {
return this. queryAllPage(page.getSize(),page.getCurrent());
if (type.equals(SELECY_ALL)) {
return this.queryAllPage(page.getSize(), page.getCurrent());
}
if (type.equals(SELECY_ISUBMIT)) {
return queryForPage(page, userInfo.getUserId());
return queryForPage(page, userInfo.getUserId());
}
return this. queryForWaitManage(page, userInfo.getUserId());
return this.queryForWaitManage(page, userInfo.getUserId());
}
/**
......@@ -117,10 +119,10 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
return null;
}
QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
wrapper.eq("submission_pid",submissionPid);
wrapper.eq("submission_pid", submissionPid);
wrapper.orderByDesc("submission_time");
IPage<FailureDetails> failureDetailsPage = new Page<>(page.getCurrent(), page.getSize());
return baseMapper.selectPage(failureDetailsPage, wrapper);
return baseMapper.selectPage(failureDetailsPage, wrapper);
}
/**
......@@ -131,13 +133,12 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
return null;
}
QueryWrapper<FailureDetails> wrapper = new QueryWrapper<>();
wrapper.eq("submission_pid",submissionPid);
wrapper.notIn("current_status",FailureStatuEnum.REFUSE.getCode(),
FailureStatuEnum.FINISH.getCode(),
wrapper.eq("submission_pid", submissionPid);
wrapper.notIn("current_status", FailureStatuEnum.REFUSE.getCode(), FailureStatuEnum.FINISH.getCode(),
FailureStatuEnum.WAITING_AUDIT.getCode());
wrapper.orderByDesc("submission_time");
IPage<FailureDetails> failureDetailsPage = new Page<>(page.getCurrent(), page.getSize());
return baseMapper.selectPage(failureDetailsPage, wrapper);
return baseMapper.selectPage(failureDetailsPage, wrapper);
}
......@@ -152,13 +153,13 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
* 根据状态查询
*/
public FailureDetailsDto queryForOne(Long sequenceNbr){
public FailureDetailsDto queryForOne(Long sequenceNbr) {
FailureDetailsDto failureDetailsDto = this.queryBySeq(sequenceNbr);
failureDetailsDto.setCurrentStatusName(
Constants.currentStatusNameMap.get(failureDetailsDto.getCurrentStatus()));
failureDetailsDto
.setCurrentStatusName(Constants.currentStatusNameMap.get(failureDetailsDto.getCurrentStatus()));
List<SourceFile> sourceFiles = sourceFileServiceImpl.findBySourceId(sequenceNbr);
failureDetailsDto.setAttachment(sourceFiles);
return failureDetailsDto ;
return failureDetailsDto;
}
/**
......@@ -174,11 +175,12 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
list.add(FailureStatuEnum.REFUSE);
list.add(FailureStatuEnum.FINISH);
for (int i = 0; i < list.size(); i++) {
if (currentStatus.equals(list.get(i).getCode())){
if (currentStatus.equals(list.get(i).getCode())) {
status = list.get(i).getName();
};
}
;
}
/*FailureStatuEnum[] failureStatuEnums = new FailureStatuEnum []{};*/
/* FailureStatuEnum[] failureStatuEnums = new FailureStatuEnum []{}; */
QueryWrapper<FailureDetails> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("current_status", status).orderByDesc("submission_time");
return baseMapper.selectList(queryWrapper);
......@@ -190,61 +192,58 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
* 查询任务状态数量
*/
public List<FailureStatusCountDto> queryStatusCount(Integer type) {
List<FailureDetailsDto> failureDetailsDtos =new ArrayList<>();
List<FailureDetailsDto> failureDetailsDtos = new ArrayList<>();
if (type.equals(SELECY_ALL)) {
failureDetailsDtos = this.queryForFailureDetailsList();
}
if (type.equals(SELECY_ISUBMIT)) {
failureDetailsDtos = this.queryForFailureDetailsList();
}
int auditStatus=0;
int submitStatus=0;
int maintainStatus=0;
int acceptanceStatus=0;
int refuseStatus=0;
int finishStatus=0;
int inMaintenance=0;
int auditStatus = 0;
int submitStatus = 0;
int maintainStatus = 0;
int acceptanceStatus = 0;
int refuseStatus = 0;
int finishStatus = 0;
int inMaintenance = 0;
List<FailureStatusCountDto> list = new ArrayList<>();
// String[] statusName = new String[]{"待审核", "待提交", "待维修", "待验收", "已拒绝", "已完结"};
List<String> statusName = new ArrayList<>();
Collections.addAll(statusName, FailureStatuEnum.WAITING_AUDIT.getName(),
FailureStatuEnum.WAITING_SUBMIT.getName(),
FailureStatuEnum.WAITING_MAINTAIN.getName(),
FailureStatuEnum.WAITING_ACCEPTANCE.getName(),
FailureStatuEnum.REFUSE.getName(),
FailureStatuEnum.FINISH.getName(),
FailureStatuEnum.IN_MAINTENANCE.getName());
FailureStatuEnum.WAITING_SUBMIT.getName(), FailureStatuEnum.WAITING_MAINTAIN.getName(),
FailureStatuEnum.WAITING_ACCEPTANCE.getName(), FailureStatuEnum.REFUSE.getName(),
FailureStatuEnum.FINISH.getName(), FailureStatuEnum.IN_MAINTENANCE.getName());
for (int i = 0; i < failureDetailsDtos.size(); i++) {
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_AUDIT.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_AUDIT.getCode())) {
auditStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_SUBMIT.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_SUBMIT.getCode())) {
submitStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_MAINTAIN.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_MAINTAIN.getCode())) {
maintainStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_ACCEPTANCE.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.WAITING_ACCEPTANCE.getCode())) {
acceptanceStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.REFUSE.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.REFUSE.getCode())) {
refuseStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.FINISH.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.FINISH.getCode())) {
finishStatus++;
}
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.IN_MAINTENANCE.getCode())){
if (failureDetailsDtos.get(i).getCurrentStatus().equals(FailureStatuEnum.IN_MAINTENANCE.getCode())) {
inMaintenance++;
}
}
int[] statusCount = {auditStatus,submitStatus,maintainStatus,acceptanceStatus
,refuseStatus,finishStatus,inMaintenance};
int[] statusCount = { auditStatus, submitStatus, maintainStatus, acceptanceStatus, refuseStatus, finishStatus,
inMaintenance };
for (int i = 0; i < statusName.size(); i++) {
FailureStatusCountDto statusCountDto= new FailureStatusCountDto();
FailureStatusCountDto statusCountDto = new FailureStatusCountDto();
statusCountDto.setStatus(statusName.get(i));
statusCountDto.setCount(statusCount[i]);
list.add(statusCountDto);
......@@ -284,16 +283,17 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
model = this.createWithModel(failureDetailsDto);
if (ObjectUtils.isNotEmpty(failureDetailsDto.getAttachment())) {
sourceFileServiceImpl.saveSourceFile(failureDetailsDto.getSequenceNbr(), failureDetailsDto.getAttachment());
sourceFileServiceImpl.saveSourceFile(failureDetailsDto.getSequenceNbr(),
failureDetailsDto.getAttachment());
}
//添加至报修日志
// 添加至报修日志
try {
Long faultId = model.getSequenceNbr();
String processAuditor = model.getRecUserName();
Integer processAuditorId = model.getSubmissionPid();
String processResult = "提交报修单";
String processDepartment = userInfo.getDepartment().getDepartmentName();
Long departmentId= userInfo.getDepartment().getSequenceNbr();
Long departmentId = userInfo.getDepartment().getSequenceNbr();
Date processTime = model.getSubmissionTime();
String processAuditorCid = userInfo.getUserModel().getUserName();
repairlog(faultId, processAuditor,processAuditorId,departmentId, processTime, processDepartment, processResult,processAuditorCid);
......@@ -310,11 +310,11 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
return false;
// return CommonResponseUtil.failure("添加失败");
}
try{
try {
if (ObjectUtils.isNotEmpty(model)) {
excuteTask(instance.getString("id"), userInfo, null);
}
}catch (Exception e){
} catch (Exception e) {
e.printStackTrace();
return false;
}
......@@ -483,7 +483,7 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
countNum++;
continue;
}
}
}
}
return countNum;
}
......@@ -491,22 +491,36 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
public Object getCurrentProcessHistoryTask(Long id) {
FailureDetailsDto failureDetailsDto = this.queryBySeq(id);
String processId = failureDetailsDto.getProcessId();
JSONObject object= workflowFeignService.queryHistoryTaskListByProcessId(processId);
JSONArray datArray=null;
if(ObjectUtils.isNotEmpty(object)) {
datArray=object.getJSONArray("rows");
JSONObject object = workflowFeignService.queryHistoryTaskListByProcessId(processId);
JSONArray datArray = null;
if (ObjectUtils.isNotEmpty(object)) {
datArray = object.getJSONArray("data");
}
List<Object> list = new ArrayList<Object>();
if(datArray!=null) {
datArray.stream().forEach(i->{
JSONObject detail = JSONObject.parseObject(JSONObject.toJSONString(i));
if(detail.containsKey("operator") && !detail.getString("name").equals("维修中")) {
//从流程记录表中拿到处理人的名称
FailureRepairlog failureRepairlog=failureRepairlogService.findByprocessAuditorId(Long.parseLong(detail.getString("operator")));
detail.replace("operator", failureRepairlog.getProcessAuditor());
list.add(object);
if (datArray != null) {
for (Object i : datArray) {
JSONObject detail = JSONObject.parseObject(JSONObject.toJSONString(i));
if (detail.containsKey("operator") && !detail.getString("name").contains("维修中")) {
// 从流程记录表中拿到处理人的名称
FailureRepairlog failureRepairlog = failureRepairlogService
.findByprocessAuditor(detail.getString("operator"));
if(failureRepairlog!=null) {
detail.replace("operator", failureRepairlog.getProcessAuditorName()==null?"":failureRepairlog.getProcessAuditorName());
}
}
});
list.add(detail);
}
// datArray.stream().forEach(i -> {
// JSONObject detail = JSONObject.parseObject(JSONObject.toJSONString(i));
// if (detail.containsKey("operator") && !detail.getString("name").equals("维修中")) {
// // 从流程记录表中拿到处理人的名称
// FailureRepairlog failureRepairlog = failureRepairlogService
// .findByprocessAuditor(detail.getString("operator"));
// detail.replace("operator", failureRepairlog.getProcessAuditorName());
// list.add(detail);
// }
// });
}
return list;
}
......@@ -524,35 +538,36 @@ public class FailureDetailsServiceImpl extends BaseService<FailureDetailsDto, Fa
/**
* 获取当前登录人能够操作的任务执行Button类型
*
* @param sequenceNbr
* @param userInfo
* @return
*/
public Integer getExcuteTaskAuthButton(Long sequenceNbr, ReginParams userInfo) {
int flag=0;
int flag = 0;
Map<String, Object> map = this.checkExcuteTaskAuthMap(sequenceNbr, userInfo);
if(Boolean.parseBoolean(map.get("checkFlag").toString())) {
String buttonValueString = map.get("name").toString();
if(buttonValueString.endsWith(PROCESS_NAME[0])) { //提交维修单
flag=1;
}else if(buttonValueString.endsWith(PROCESS_NAME[1])) { //审核
flag=2;
if(buttonValueString.startsWith(PROCESS_NAME[2])) {
flag=3;
if (Boolean.parseBoolean(map.get("checkFlag").toString())) {
String buttonValueString = map.get("name").toString();
if (buttonValueString.endsWith(PROCESS_NAME[0])) { // 提交维修单
flag = 1;
} else if (buttonValueString.endsWith(PROCESS_NAME[1])) { // 审核
flag = 2;
if (buttonValueString.startsWith(PROCESS_NAME[2])) {
flag = 3;
}
}else if(buttonValueString.endsWith(PROCESS_NAME[2])) {//维修
flag=4;
}else if(buttonValueString.endsWith(PROCESS_NAME[3])) {//验收
flag=5;
} else if (buttonValueString.endsWith(PROCESS_NAME[2])) {// 维修
flag = 4;
} else if (buttonValueString.endsWith(PROCESS_NAME[3])) {// 验收
flag = 5;
}
}
FailureDetails details = this.baseMapper.selectById(sequenceNbr);
JSONObject object= workflowFeignService.queryHistoryTasksByProcessInstanceId(details.getProcessId());
JSONArray array= object.getJSONArray("rows");
}
FailureDetails details = this.baseMapper.selectById(sequenceNbr);
JSONObject object = workflowFeignService.queryHistoryTasksByProcessInstanceId(details.getProcessId());
JSONArray array = object.getJSONArray("rows");
for (Object historyDetail : array) {
JSONObject historyDetailJson= JSONObject.parseObject(JSONObject.toJSONString(historyDetail));
if("rejected".equals(historyDetailJson.getString("activityId"))) {
flag=6;
JSONObject historyDetailJson = JSONObject.parseObject(JSONObject.toJSONString(historyDetail));
if ("rejected".equals(historyDetailJson.getString("activityId"))) {
flag = 6;
}
}
return flag;
......
......@@ -49,9 +49,9 @@ public class FailureRepairlogServiceImpl extends BaseService<FailureRepairlogDto
}
public FailureRepairlog findByprocessAuditorId(Long userId) {
QueryWrapper<FailureRepairlog> queryWrapper = new QueryWrapper<FailureRepairlog>();
queryWrapper.eq("process_auditor_id", userId);
public FailureRepairlog findByprocessAuditor(String userId) {
LambdaQueryWrapper<FailureRepairlog> queryWrapper = new LambdaQueryWrapper<FailureRepairlog>();
queryWrapper.eq(FailureRepairlog::getProcessAuditor, userId);
queryWrapper.last("LIMIT 1");
return baseMapper.selectOne(queryWrapper);
}
......
......@@ -295,11 +295,12 @@ public class CheckController extends AbstractBaseController {
/**
* 获取巡检日历数据
*
* @param queryRequests
* @param date
* @return
*/
@PersonIdentify
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取巡检日历数据-mobile", notes = "获取巡检日历数据-mobile")
@ApiOperation(value = "维保日历-mobile", notes = "维保日历-mobile")
@GetMapping(value = "/{date}/checkCalendar", produces = "application/json;charset=UTF-8")
public CommonResponse checkCalendar(
@ApiParam(value = "date,格式YYYY-MM-DD",required = true)@PathVariable String date) {
......
package com.yeejoin.amos.maintenance.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.service.intfc.IStatisticsService;
import com.yeejoin.amos.maintenance.business.util.CommonResponse;
import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil;
import com.yeejoin.amos.maintenance.core.framework.PersonIdentify;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import java.util.HashMap;
import java.util.Map;
/**
* @author DELL
*/
@RestController
@RequestMapping(value = "/api/statistics")
@Api(tags = "统计api")
public class StatisticsController extends AbstractBaseController {
@Autowired
IStatisticsService iStatisticsService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PersonIdentify
@GetMapping(value = "/task")
@ApiOperation(value = "app首页任务统计")
public CommonResponse taskStatusStatistics(){
ReginParams reginParams = getSelectedOrgInfo();
String loginOrgCode = getOrgCode(reginParams);
Map<String,Object> result = iStatisticsService.taskStatusStatistics(opIdentifyInfo(),loginOrgCode);
return CommonResponseUtil.success(result);
}
}
......@@ -179,4 +179,5 @@ public interface PlanTaskMapper extends BaseMapper {
List<Map<String, Object>> queryTimeAxis(HashMap<String, Object> params);
List<Map<String, Object>> statisticsTaskWithAuth(Map<String, Object> param);
}
package com.yeejoin.amos.maintenance.business.feign;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import java.util.LinkedHashMap;
import java.util.List;
......@@ -37,5 +34,14 @@ public interface EquipFeign {
*/
@RequestMapping(value = "${equip.fegin.prefix}"+"/area/tree", method = RequestMethod.GET ,consumes="application/json")
LinkedHashMap<String,Object> getRegionTress();
/**
* 查询维保到期设备
* @param type
* @param companyId
* @return
*/
@GetMapping(value = "${equip.fegin.prefix}+/facility")
List<Map<String,Object>> overTimeMaintenanceFacility(@RequestParam String type,String companyId);
}
package com.yeejoin.amos.maintenance.business.feign;
//@RequestLine
//@FeignClient(name = "${Remote3D.fegin.name}",configuration=FeignConfiguration.class)
//public interface Remote3D {
// @RequestMapping(value = "/patrol/check", method = RequestMethod.POST)
// @ResponseBody
// CommonResponse checkStatusPush( @RequestBody List<PointCheckInfoRespone> pointCheckInfo);
//
//
// @RequestMapping(value = "/patrol/task", method = RequestMethod.POST)
// CommonResponse errorTaskPushTo3D( @RequestBody List<TaskInfoRespone> taskInfoRespone);
//
//
// @RequestMapping(value = "/view3d/synchronous/points", method = RequestMethod.POST)
// CommonResponse pointInfoPush( @RequestBody List<PointInfoSyn3DRespone> pointInfoResponseList);
//
//
// @RequestMapping(value = "/view3d/synchronous/routes", method = RequestMethod.POST)
// CommonResponse routeInfoPush( @RequestBody List<RouteResponse> routeResponseList);
//
//
//
//
//
//
//
//}
//package com.yeejoin.amos.maintenance.business.feign;
//
//import java.util.List;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.http.HttpEntity;
//import org.springframework.http.HttpHeaders;
//import org.springframework.http.MediaType;
//import org.springframework.stereotype.Service;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.client.RestTemplate;
//
//import com.yeejoin.amos.maintenance.business.util.CommonResponse;
//import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil;
//import com.yeejoin.amos.maintenance.core.common.response.PointCheckInfoRespone;
//import com.yeejoin.amos.maintenance.core.common.response.PointInfoSyn3DRespone;
//import com.yeejoin.amos.maintenance.core.common.response.RouteResponse;
//import com.yeejoin.amos.maintenance.core.common.response.TaskInfoRespone;
//
//
//
////三维远程访问
//@Service("remote3DServer")
//public class Remote3DServer {
// @Autowired
// private RestTemplate restTemplate;
//
// @Value("${Remote3D.fegin.name}")
// private String Remote3DFeginName;
//
//
// private static String checkStatusPush = "/patrol/check";
//
// private static String errorTaskPushTo3D = "/patrol/task";
//
// private static String pointInfoPush = "/view3d/synchronous/points";
//
// private static String routeInfoPush = "/view3d/synchronous/routes";
//
//
//
// public String geturls(String url){
// return "http://"+Remote3DFeginName+url;
// }
// public HttpHeaders getHeader(String toke,String product,String appKey){
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON);
// headers.set("Content-Type", "application/json");
// headers.set("token", toke);
// headers.set("product",product);
// headers.set("appKey", appKey);
// return headers;
// }
//
//
// public CommonResponse checkStatusPush( String toke,String product,String appKey, List<PointCheckInfoRespone> pointCheckInfo){
// try {
// HttpEntity httpEntity = new HttpEntity<>(pointCheckInfo, getHeader( toke, product, appKey));
// CommonResponse commonResponse1 = restTemplate.postForObject(geturls(checkStatusPush),httpEntity, CommonResponse.class);
// return commonResponse1;
// } catch (Exception e) {
// e.printStackTrace();
// return CommonResponseUtil.failure("发送失败");
//
// }
// }
//
//
//
// public CommonResponse errorTaskPushTo3D( String toke,String product,String appKey, List<TaskInfoRespone> taskInfoRespone){
// try {
// HttpEntity httpEntity = new HttpEntity<>(taskInfoRespone, getHeader( toke, product, appKey));
// CommonResponse commonResponse1 = restTemplate.postForObject(geturls(errorTaskPushTo3D),httpEntity, CommonResponse.class);
// return commonResponse1;
// } catch (Exception e) {
// e.printStackTrace();
// return CommonResponseUtil.failure("发送失败");
//
// }
// }
//
//
// public CommonResponse pointInfoPush(String toke,String product,String appKey,List<PointInfoSyn3DRespone> pointInfoResponseList){
// try {
// HttpEntity httpEntity = new HttpEntity<>(pointInfoResponseList, getHeader( toke, product, appKey));
// CommonResponse commonResponse1 = restTemplate.postForObject(geturls(pointInfoPush),httpEntity, CommonResponse.class);
// return commonResponse1;
// } catch (Exception e) {
// e.printStackTrace();
// return CommonResponseUtil.failure("发送失败");
//
// }
// }
//
//
// public CommonResponse routeInfoPush( String toke,String product,String appKey, List<RouteResponse> routeResponseList){
// try {
// HttpEntity httpEntity = new HttpEntity<>(routeResponseList, getHeader( toke, product, appKey));
// CommonResponse commonResponse1 = restTemplate.postForObject(geturls(routeInfoPush),httpEntity, CommonResponse.class);
// return commonResponse1;
// } catch (Exception e) {
// e.printStackTrace();
// return CommonResponseUtil.failure("发送失败");
//
// }
// }
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//}
package com.yeejoin.amos.maintenance.business.service.impl;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.maintenance.business.feign.EquipFeign;
import com.yeejoin.amos.maintenance.business.service.intfc.IStatisticsService;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskDetailIsFinishEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.Bean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
public class StatisticsServiceImpl implements IStatisticsService {
@Autowired
PlanTaskMapper planTaskMapper;
@Autowired
EquipFeign equipFeign;
@Override
public Map<String, Object> taskStatusStatistics(ReginParams.PersonIdentity opIdentifyInfo, String orgCode) {
Map<String, Object> param = Bean.BeantoMap(opIdentifyInfo);
param.put("orgCode", orgCode);
List<Map<String, Object>> list = planTaskMapper.statisticsTaskWithAuth(param);
Map<Integer, Long> statusNumberMap = list.stream().collect(Collectors.toMap(map -> Integer.parseInt(map.get("is_finish").toString()), v -> Long.parseLong(v.get("total").toString())));
Map<String, Object> resultMap = new HashMap<>();
// 待执行任务数量
resultMap.put("waitExecuteTask", statusNumberMap.get(PlanTaskDetailIsFinishEnum.UNFINISHED.getValue()) == null ? 0L : statusNumberMap.get(PlanTaskDetailIsFinishEnum.UNFINISHED.getValue()));
// 超时任务数量
resultMap.put("overTimeTask", statusNumberMap.get(PlanTaskDetailIsFinishEnum.OVERTIME.getValue()) == null ? 0L : statusNumberMap.get(PlanTaskDetailIsFinishEnum.OVERTIME.getValue()));
List<Map<String, Object>> overTimeFacility = new ArrayList<>();
//overTimeFacility = equipFeign.overTimeMaintenanceFacility(opIdentifyInfo.getIdentityType(),opIdentifyInfo.getCompanyId());
// 到期维保设备
resultMap.put("overTimeFacility", overTimeFacility.size());
return resultMap;
}
}
package com.yeejoin.amos.maintenance.business.service.intfc;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import java.util.Map;
/**
* @author DELL
*/
public interface IStatisticsService {
/**
* 维保任务统计
* @return Map<String, Object>
*/
Map<String, Object> taskStatusStatistics(ReginParams.PersonIdentity opIdentifyInfo, String loginOrgCode);
}
......@@ -3,7 +3,6 @@ package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.SystemClock;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -68,7 +67,7 @@ import java.util.stream.Stream;
*/
@RestController
@Api(tags = "警情接警填报记录Api")
@RequestMapping(value = "/tzs/alert-called")
@RequestMapping(value = "/alert-called")
public class AlertCalledController extends BaseController {
@Autowired
......@@ -218,21 +217,21 @@ public class AlertCalledController extends BaseController {
// 当天接警
alarmStatisticsDto.setTodayAlarmNum(map.get("calledCount") == null ? 0 : Integer.valueOf(map.get("calledCount").toString())) ;
//当天提交
alarmStatisticsDto.setTodayAlarmNum(map.get("majorAlertCount") == null ? 0 : Integer.valueOf(map.get("majorAlertCount").toString())) ;
alarmStatisticsDto.setSubmitNum(map.get("majorAlertCount") == null ? 0 : Integer.valueOf(map.get("majorAlertCount").toString())) ;
//投诉咨询数量
alarmStatisticsDto.setSuggestions(map.get("suggestionsCount") == null ? 0 : Integer.valueOf(map.get("suggestionsCount").toString())) ;
//故障维修数量
alarmStatisticsDto.setSuggestions(map.get("faultRescueCount") == null ? 0 : Integer.valueOf(map.get("faultRescueCount").toString())) ;
alarmStatisticsDto.setFaultRescue(map.get("faultRescueCount") == null ? 0 : Integer.valueOf(map.get("faultRescueCount").toString())) ;
//困人救援数量
alarmStatisticsDto.setSuggestions(map.get("sleepyIncidentCount") == null ? 0 : Integer.valueOf(map.get("sleepyIncidentCount").toString())) ;
alarmStatisticsDto.setSleepyIncident(map.get("sleepyIncidentCount") == null ? 0 : Integer.valueOf(map.get("sleepyIncidentCount").toString())) ;
Map<String,Integer> recordMap = Maps.newHashMap();
// 近七天办理数量
for(int i = 1 ; i < 8; i++) {
Map<String, Object> nearlySevenDaysMap = iAlertCalledService.getAlertInfoList(DateUtils.stampToDate(System.currentTimeMillis(),"yyyy-MM-dd")+" 00:00:00",
DateUtils.stampToDate(System.currentTimeMillis(),"yyyy-MM-dd")+" 23:59:59",null,
Map<String, Object> nearlySevenDaysMap = iAlertCalledService.getAlertInfoList(DateUtils.stampToDate(DateUtils.dateAddDays(new Date(), -i).getTime(),"yyyy-MM-dd")+" 00:00:00",
DateUtils.stampToDate(DateUtils.dateAddDays(new Date(), -i).getTime(),"yyyy-MM-dd")+" 23:59:59",null,
getUserInfo().getUserId());
recordMap.put(DateUtils.dateFormat(DateUtils.dateAddDays(new Date(), -i),""),nearlySevenDaysMap.get("calledCount") == null ? 0 : Integer.valueOf(nearlySevenDaysMap.get("calledCount").toString()));
recordMap.put(DateUtils.stampToDate(DateUtils.dateAddDays(new Date(), -i).getTime(),"yyyy-MM-dd"),nearlySevenDaysMap.get("calledCount") == null ? 0 : Integer.valueOf(nearlySevenDaysMap.get("calledCount").toString()));
}
alarmStatisticsDto.setNearlySevenDaysNum(recordMap);
}
......
......@@ -34,7 +34,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
*/
@RestController
@Api(tags = "派遣单Api")
@RequestMapping(value = "/tzs/dispatch-paper")
@RequestMapping(value = "/dispatch-paper")
public class DispatchPaperController extends BaseController {
@Autowired
......
......@@ -34,7 +34,7 @@ import io.swagger.annotations.ApiOperation;
*/
@RestController
@Api(tags = "派遣任务Api")
@RequestMapping(value = "/tzs/dispatch-task")
@RequestMapping(value = "/dispatch-task")
public class DispatchTaskController extends BaseController {
@Autowired
......
......@@ -35,7 +35,7 @@ import java.util.List;
*/
@RestController
@Api(tags = "处置过程Api")
@RequestMapping(value = "/tzs/repair-consult")
@RequestMapping(value = "/repair-consult")
public class RepairConsultController extends BaseController {
@Autowired
......
......@@ -34,7 +34,7 @@ import io.swagger.annotations.ApiOperation;
*/
@RestController
@Api(tags = "救援过程表Api")
@RequestMapping(value = "/tzs/rescue-process")
@RequestMapping(value = "/rescue-process")
public class RescueProcessController extends BaseController {
@Autowired
......
......@@ -32,7 +32,7 @@ import java.util.List;
*/
@RestController
@Api(tags = "模板表Api")
@RequestMapping(value = "/tzs/template")
@RequestMapping(value = "/template")
public class TemplateController extends BaseController {
@Autowired
......
package com.yeejoin.amos.boot.module.tzs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
......@@ -39,7 +38,7 @@ import java.util.UUID;
*/
@RestController
@Api(tags = "通话记录附件Api")
@RequestMapping(value = "/tzs/voice-record-file")
@RequestMapping(value = "/voice-record-file")
public class VoiceRecordFileController extends BaseController {
@Autowired
......
......@@ -171,39 +171,39 @@ public class ESAlertCalledService {
long currentTime = System.currentTimeMillis() ;
currentTime = currentTime - 120*60*1000;
BoolQueryBuilder qb1 = QueryBuilders.boolQuery()
.must(QueryBuilders.rangeQuery("callTimeLong").gte(currentTime));
.filter(QueryBuilders.rangeQuery("callTimeLong").gte(currentTime));
boolMust.must(qb1);
//报警电话一致
if (!ValidationUtil.isEmpty(alertCalled.getEmergencyCall()) && !ValidationUtil.isEmpty(alertCalled.getContactPhone()))
{
BoolQueryBuilder qb2 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("emergencyCall.keyword", alertCalled.getEmergencyCall()))
.must(QueryBuilders.termQuery("contactPhone.keyword", alertCalled.getContactPhone()));
boolMust.should(qb2);
.should(QueryBuilders.termQuery("emergencyCall.keyword", alertCalled.getEmergencyCall()))
.should(QueryBuilders.termQuery("contactPhone.keyword", alertCalled.getContactPhone()));
boolMust.must(qb2);
}
//事发地点一致,或相距不超过200米的
if (!ValidationUtil.isEmpty(alertCalled.getAddress()))
{
BoolQueryBuilder qb3 = QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("address", alertCalled.getAddress()));
.filter(QueryBuilders.matchQuery("address", alertCalled.getAddress()));
boolMust.should(qb3);
}
//警情类型一致
BoolQueryBuilder qb4 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("alarmTypeCode", alertCalled.getAlarmTypeCode()));
.filter(QueryBuilders.termQuery("alarmTypeCode", alertCalled.getAlarmTypeCode()));
boolMust.must(qb4);
//使用单位名称一致
if (!ValidationUtil.isEmpty(alertCalled.getUseUnit()))
{
BoolQueryBuilder qb5 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("useUnit.keyword", alertCalled.getUseUnit()));
.filter(QueryBuilders.termQuery("useUnit.keyword", alertCalled.getUseUnit()));
boolMust.must(qb5);
}
//电梯识别码一致
if(!ValidationUtil.isEmpty(alertCalled.getDeviceId())) {
BoolQueryBuilder qb6 = QueryBuilders.boolQuery()
.must(QueryBuilders.termQuery("deviceId.keyword", alertCalled.getDeviceId()));
boolMust.should(qb6);
.filter(QueryBuilders.termQuery("deviceId.keyword", alertCalled.getDeviceId()));
boolMust.must(qb6);
}
/**
......
......@@ -304,14 +304,14 @@
</sql>
<select id="calendarData" resultType="Map">
SELECT
sum(is_ok) AS count,
count(id) AS count,
DATE_FORMAT(check_time, '%Y-%m-%d') time,
is_ok status
FROM
p_check
<include refid="calendar-where"/>
GROUP BY is_ok,time
ORDER BY time
ORDER BY check_time
</select>
......
......@@ -833,4 +833,24 @@
ORDER BY
ppk.begin_time DESC LIMIT 60
</select>
<select id="statisticsTaskWithAuth" resultType="java.util.Map">
SELECT
count(1) as total,
td.is_finish
from p_plan_task_detail td ,
p_plan_task t,
p_route r
where
td.task_no = t.id
and t.route_id = r.id
<choose>
<when test="identityType==1">
and (t.org_code LIKE CONCAT( #{orgCode}, '-%' ) or t.org_code= #{orgCode} )
</when>
<when test="identityType==2">
And r.owner_id = #{companyId}
</when>
</choose>
GROUP BY td.is_finish
</select>
</mapper>
\ No newline at end of file
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