Commit a6ccc740 authored by maoying's avatar maoying

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

parents 05a812c3 54b36b98
...@@ -11,7 +11,19 @@ import lombok.AllArgsConstructor; ...@@ -11,7 +11,19 @@ import lombok.AllArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
public enum HomePageEnum { public enum HomePageEnum {
DISPATCHMAP("dispatchMap", "com.yeejoin.amos.boot.module.command.biz.service.impl.DispatchMapServiceImpl"); DISPATCHALARM("dispatchAlarm", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
DISPATCHTASK("dispatchTask", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
FIREALARM("fireAlarm", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
FAULT("fault", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
SHIELD("shield", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
WARNING("warning", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
NO("no", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl"),
YES("yes", "com.yeejoin.amos.boot.module.jcs.biz.service.impl.DispatchMapServiceImpl");
private String code;//对应菜单组件名称 private String code;//对应菜单组件名称
private String url;//组件值对应实现类的包名 private String url;//组件值对应实现类的包名
......
...@@ -24,13 +24,21 @@ public class FeignAuthRequestInterceptor implements RequestInterceptor { ...@@ -24,13 +24,21 @@ public class FeignAuthRequestInterceptor implements RequestInterceptor {
/* Get token from header */ /* Get token from header */
String authToken = StringUtils.isEmpty(request.getHeader("X-Access-Token")) ? request.getHeader("token") : request.getHeader("X-Access-Token"); String authToken = StringUtils.isEmpty(request.getHeader("X-Access-Token")) ? request.getHeader("token") : request.getHeader("X-Access-Token");
/* If token not found get it from request parameter */ /* If token not found get it from request parameter */
String appKey = request.getHeader("appKey");
String product = request.getHeader("product");
if (authToken == null) { if (authToken == null) {
authToken = request.getParameter("token"); authToken = request.getParameter("token");
} }
if (appKey == null) {
appKey = request.getParameter("appKey");
}
if (product == null) {
product = request.getParameter("product");
}
template.header("X-Access-Token", authToken); template.header("X-Access-Token", authToken);
template.header("token", authToken); template.header("token", authToken);
template.header("appKey", request.getHeader("appKey")); template.header("appKey", appKey);
template.header("product", request.getHeader("product")); template.header("product", product);
} }
} }
} }
...@@ -49,7 +49,8 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da ...@@ -49,7 +49,8 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da
} else { } else {
Collection<DataDictionary> list = this.list(queryWrapper); Collection<DataDictionary> list = this.list(queryWrapper);
// 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by kongfm 2021-09-08 // 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by kongfm 2021-09-08
List<MenuFrom> menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(), "getSequenceNbr", 2, // 数据字典还原 by kongfm 2021-09-09
List<MenuFrom> menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(), "getCode", 0,
"getName", "getParent", null); "getName", "getParent", null);
MenuFrom Me = new MenuFrom("-1", "-1", "-1", "危化品库", "危化品库", "危化品库", "-1", null); MenuFrom Me = new MenuFrom("-1", "-1", "-1", "危化品库", "危化品库", "危化品库", "-1", null);
Me.setIsLeaf(false); Me.setIsLeaf(false);
...@@ -71,7 +72,8 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da ...@@ -71,7 +72,8 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da
} else { } else {
Collection<DataDictionary> list = this.list(queryWrapper); Collection<DataDictionary> list = this.list(queryWrapper);
// 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by kongfm 2021-09-08 // 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by kongfm 2021-09-08
List<Menu> menus = TreeParser.getTree(null, list, DataDictionary.class.getName(), "getSequenceNbr", 2, "getName" // 数据字典还原 by kongfm 2021-09-09
List<Menu> menus = TreeParser.getTree(null, list, DataDictionary.class.getName(), "getCode", 0, "getName"
, "getParent", null); , "getParent", null);
redisUtils.set(RedisKey.DATA_DICTIONARY_CODE + type, JSON.toJSON(menus), time); redisUtils.set(RedisKey.DATA_DICTIONARY_CODE + type, JSON.toJSON(menus), time);
return menus; return menus;
...@@ -85,7 +87,8 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da ...@@ -85,7 +87,8 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da
Collection<DataDictionary> list = this.list(queryWrapper); Collection<DataDictionary> list = this.list(queryWrapper);
// 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by kongfm 2021-09-08 // 数据字典生成树方法 原先通过getCode做主键 现修改为 getSequenceNbr 后期数据字典parent字段保存id 而不要保存code by kongfm 2021-09-08
List<MenuFrom> menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(), "getSequenceNbr", 2, "getName" // 数据字典还原 by kongfm 2021-09-09
List<MenuFrom> menus = TreeParser.getTreexin(null, list, DataDictionary.class.getName(), "getCode", 0, "getName"
, "getParent", null); , "getParent", null);
return menus; return menus;
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.common.api.entity; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -13,35 +14,38 @@ import lombok.experimental.Accessors; ...@@ -13,35 +14,38 @@ import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
/** /**
* 工作经历 * 工作经历
* *
* @author tb * @author tb
* @date 2021-06-07 * @date 2021-06-07
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@TableName("cb_firefighters_workexperience") @TableName("cb_firefighters_workexperience")
@ApiModel(value="FirefightersWorkexperience对象", description="工作经历") @ApiModel(value = "FirefightersWorkexperience对象", description = "工作经历")
public class FirefightersWorkexperience extends BaseEntity { public class FirefightersWorkexperience extends BaseEntity {
/** /**
* *
*/ */
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "参加工作时间") @ApiModelProperty(value = "参加工作时间")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date workingHours; @JsonFormat(pattern = "yyyy-MM-dd")
private Date workingHours;
@ApiModelProperty(value = "参加消防部门工作时间") @ApiModelProperty(value = "参加消防部门工作时间")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private Date fireWorkingHours; @JsonFormat(pattern = "yyyy-MM-dd")
private Date fireWorkingHours;
@ApiModelProperty(value = "人员id") @ApiModelProperty(value = "人员id")
private Long firefightersId; private Long firefightersId;
@ApiModelProperty(value = "更新时间") @ApiModelProperty(value = "更新时间")
@TableField(fill=FieldFill.UPDATE) @TableField(fill = FieldFill.UPDATE)
private Date updateTime; private Date updateTime;
} }
...@@ -159,5 +159,12 @@ public interface EquipFeignClient { ...@@ -159,5 +159,12 @@ public interface EquipFeignClient {
@RequestMapping(value = "/video/getByid", method = RequestMethod.GET) @RequestMapping(value = "/video/getByid", method = RequestMethod.GET)
ResponseModel<Map<String, Object>> getByid( @RequestParam Long id); ResponseModel<Map<String, Object>> getByid( @RequestParam Long id);
/**
*
*获取车辆简要信息
* @param id 消防车id
* @return
*/
@RequestMapping(value = "/car/simple/{id}", method = RequestMethod.GET)
ResponseModel<Map<String, Object>> queryCarSimpleInfoById(@PathVariable Long id);
} }
...@@ -31,4 +31,7 @@ public interface IotFeignClient { ...@@ -31,4 +31,7 @@ public interface IotFeignClient {
@RequestMapping(value = "/v1/iot/DynamicFlightInfo/detail/{dynamicFlightId}", method = RequestMethod.GET) @RequestMapping(value = "/v1/iot/DynamicFlightInfo/detail/{dynamicFlightId}", method = RequestMethod.GET)
ResponseModel<Map<String, Object>> findImgByDynamicFlightId(@PathVariable String dynamicFlightId); ResponseModel<Map<String, Object>> findImgByDynamicFlightId(@PathVariable String dynamicFlightId);
@RequestMapping(value = "/v1/iot/DynamicFlightInfo/plane/{dynamicFlightId}", method = RequestMethod.GET)
ResponseModel<Object> DynamicFlightInfo(@PathVariable String dynamicFlightId);
} }
package com.yeejoin.amos.boot.module.common.api.service; package com.yeejoin.amos.boot.module.common.api.service;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto; import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
/** /**
...@@ -21,4 +22,11 @@ public interface IDutyCarService extends IDutyCommonService { ...@@ -21,4 +22,11 @@ public interface IDutyCarService extends IDutyCommonService {
* @return List<DutyCarDto> * @return List<DutyCarDto>
*/ */
DutyCarDto update(Long instanceId, DutyCarDto dutyCarDto); DutyCarDto update(Long instanceId, DutyCarDto dutyCarDto);
/**
* 判断当前登陆人是否是车辆驾驶员
*
* @return
*/
JSONObject isFireCarDriver();
} }
...@@ -223,7 +223,7 @@ public interface IOrgUsrService { ...@@ -223,7 +223,7 @@ public interface IOrgUsrService {
/** /**
* 获取登陆人关联机场单位人员信息,部门信息 * 获取登陆人关联机场单位人员信息,部门信息
*/ */
List<Map<String, Object>> getLoginUserDetails(AgencyUserModel user); List<Map<String, Object>> getLoginUserDetails(String userId);
List<OrgUsr> getPersonListByParentId(Long id); List<OrgUsr> getPersonListByParentId(Long id);
......
package com.yeejoin.amos.boot.module.jcs.api.dto;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
*
* @author system_generator
* @date 2021-09-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="AlertCalledFeedbackDto", description="")
public class AlertCalledFeedbackDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "警情id")
private Long alertCalledId;
@ApiModelProperty(value = "反馈警情任务状态")
private String status;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "图片附件")
private Map<String, List<AttachmentDto>> attachments;
}
package com.yeejoin.amos.boot.module.jcs.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
*
*
* @author system_generator
* @date 2021-09-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("jc_alert_called_feedback")
public class AlertCalledFeedback extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 警情id
*/
@TableField("alert_called_id")
private Long alertCalledId;
/**
* 反馈警情状态
*/
@TableField(value = "status")
private String status;
/**
* 备注
*/
@TableField("remark")
private String remark;
}
package com.yeejoin.amos.boot.module.jcs.api.enums;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.List;
import java.util.Map;
/**
*
* <pre>
* 警情反馈状态枚举
* </pre>
*
* @author tb
* @version $Id: AlertStatusEnum.java, v 0.1 2021年6月23日 下午5:11:18 gwb Exp $
*/
@Getter
@AllArgsConstructor
public enum AlertFeedbackStatusEnum {
/**
* 执行中
*/
执行中("executing", "执行中"),
/**
* 已完成
*/
已完成("finished", "已完成");
private String code;
private String name;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public static AlertFeedbackStatusEnum getEnum(String code)
{
for (AlertFeedbackStatusEnum status : AlertFeedbackStatusEnum.values())
{
if (status.getCode().equals(code))
{
return status;
}
}
return null;
}
/**
* 枚举转列表
*
* @return
*/
public static List<Map<String, String>> toList() {
List<Map<String, String>> enumList = Lists.newArrayList();
for (AlertFeedbackStatusEnum item : AlertFeedbackStatusEnum.values()) {
Map<String, String> map = Maps.newHashMap();
map.put("key", item.getCode());
map.put("label", item.getName());
enumList.add(map);
}
return enumList;
}
}
package com.yeejoin.amos.boot.module.jcs.api.enums; package com.yeejoin.amos.boot.module.jcs.api.enums;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import java.util.List;
import java.util.Map;
/** /**
* @author DELL * @author DELL
*/ */
...@@ -32,4 +37,20 @@ public enum FireCarStatusEnum { ...@@ -32,4 +37,20 @@ public enum FireCarStatusEnum {
} }
return null; return null;
} }
/**
* 枚举转列表
*
* @return
*/
public static List<Map<String, String>> toList() {
List<Map<String, String>> enumList = Lists.newArrayList();
for (FireCarStatusEnum item : FireCarStatusEnum.values()) {
Map<String, String> map = Maps.newHashMap();
map.put("key", item.getCode());
map.put("label", item.getName());
enumList.add(map);
}
return enumList;
}
} }
package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalledFeedback;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* Mapper 接口
*
* @author system_generator
* @date 2021-09-08
*/
public interface AlertCalledFeedbackMapper extends BaseMapper<AlertCalledFeedback> {
}
...@@ -44,4 +44,7 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> { ...@@ -44,4 +44,7 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
String endTime, String endTime,
String data, String data,
String lift); String lift);
Integer AlertCalledcount(@Param("alertStatus")int alertStatus);
} }
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledFeedbackDto;
/**
* 接口类
*
* @author system_generator
* @date 2021-09-08
*/
public interface IAlertCalledFeedbackService {
/**
* app-警情反馈
*
* @param model
* @return true/false
*/
boolean handleFeedback(AlertCalledFeedbackDto model);
}
...@@ -71,4 +71,8 @@ public interface IAlertCalledService { ...@@ -71,4 +71,8 @@ public interface IAlertCalledService {
* @return * @return
*/ */
Map<String, Object> queryAlertCalledById(Long id); Map<String, Object> queryAlertCalledById(Long id);
Integer AlertCalledcount(int type);
} }
...@@ -14,6 +14,7 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto; ...@@ -14,6 +14,7 @@ import com.yeejoin.amos.boot.module.jcs.api.dto.ResourceStatisticsDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer; import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* 力量调派 服务类 * 力量调派 服务类
...@@ -62,4 +63,18 @@ public interface IPowerTransferService extends IService<PowerTransfer> { ...@@ -62,4 +63,18 @@ public interface IPowerTransferService extends IService<PowerTransfer> {
* @return * @return
*/ */
JSONObject getPowerTransferCarResourceStatistics(Long alertCalledId); JSONObject getPowerTransferCarResourceStatistics(Long alertCalledId);
/**
* 获取车辆状态列表
*
* @return
*/
List<Map<String, String>> getFireCarStatusList();
/**
* 获取调派任务状态列表
*
* @return
*/
List<Map<String, String>> getDispatchTaskStatusList();
} }
<?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.jcs.api.mapper.AlertCalledFeedbackMapper">
</mapper>
...@@ -173,4 +173,18 @@ ...@@ -173,4 +173,18 @@
</select> </select>
<!--统计未结束的警情数量-->
<select id="AlertCalledcount" resultType="Integer">
select COUNT(*) from jc_alert_called where is_delete=0
<if test="alertStatus!= null ">
and alert_status = #{alertStatus}
</if>
</select>
</mapper> </mapper>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
SELECT ptcr.resources_id carId SELECT ptcr.resources_id carId
FROM `jc_power_transfer` pt FROM `jc_power_transfer` pt
LEFT JOIN jc_power_transfer_company ptc ON ptc.power_transfer_id = pt.sequence_nbr LEFT JOIN jc_power_transfer_company ptc ON ptc.power_transfer_id = pt.sequence_nbr
LEFT JOIN jc_power_transfer_company_resources ptcr ON ptcr.power_transfer_company_id = ptc.sequence_nbr RIGHT JOIN jc_power_transfer_company_resources ptcr ON ptcr.power_transfer_company_id = ptc.sequence_nbr
WHERE pt.alert_called_id = #{alertCalledId} WHERE pt.alert_called_id = #{alertCalledId}
</select> </select>
......
package com.yeejoin.amos.supervision.common.enums;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public enum CheckItemFinishStatusEnum {
TIME_DESC("未执行", "0"),
TIME_ASC("已执行", "1");
/**
* 名字
*/
private String name;
/**
* 编号
*/
private String code;
CheckItemFinishStatusEnum(String name, String code) {
this.name = name;
this.code = code;
}
public static List<Map<String, Object>> getEnumList() {
return Arrays.stream(CheckItemFinishStatusEnum.values()).map(e -> {
Map<String, Object> map = new HashMap<>();
map.put("name", e.getName());
map.put("value", e.getCode());
return map;
}).collect(Collectors.toList());
}
public static String getName(String value) {
for (CheckItemFinishStatusEnum c : CheckItemFinishStatusEnum.values()) {
if (c.getCode().equals(value)) {
return c.name;
}
}
return null;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
package com.yeejoin.amos.supervision.common.enums;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public enum CheckTypeSuEnum {
TIME_DESC("日常检查", "1"),
TIME_ASC("专项检查", "2");
/**
* 名字
*/
private String name;
/**
* 编号
*/
private String code;
CheckTypeSuEnum(String name, String code) {
this.name = name;
this.code = code;
}
public static List<Map<String, Object>> getEnumList() {
return Arrays.stream(CheckTypeSuEnum.values()).map(e -> {
Map<String, Object> map = new HashMap<>();
map.put(e.getCode(), e.getName());
return map;
}).collect(Collectors.toList());
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
...@@ -5,21 +5,16 @@ import java.util.stream.Collectors; ...@@ -5,21 +5,16 @@ import java.util.stream.Collectors;
/** /**
* @author DELL * @author DELL
* 维保任务排序 * 防火监督任务排序
*/ */
public enum OrderByEnum { public enum OrderByEnum {
/** /**
* 维保任务排序 * 防火监督任务排序
*/ */
TIME_DESC("时间倒序", "1", "beginTime desc"), TIME_DESC("时间倒序", "1", "beginTime desc"),
TIME_ASC("时间正序", "2", "beginTime asc"), TIME_ASC("时间正序", "2", "beginTime asc"),
PLAN_TASK_NUM_ASC("检查设施数正序", "3", "taskPlanNum asc"), PLAN_TASK_NUM_ASC("计划检查项数正序", "3", "taskPlanNum asc");
PLAN_TASK_NUM_DESC("检查设施数倒序", "4", "taskPlanNum desc"),
FINISH_NUM_DESC("完成数倒序", "5", "finishNum desc"),
FINISH_NUM_ASC("完成数正序", "6", "finishNum asc"),
PLAN_TASK_ITEM_NUM_ASC("检查项正序", "7", "itemNum asc"),
PLAN_TASK_ITEM_NUM_DESC("检查项正序", "8", "itemNum desc");
/** /**
* 名字 * 名字
......
package com.yeejoin.amos.supervision.common.enums; package com.yeejoin.amos.supervision.common.enums;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
public enum PlanTaskDetailIsFinishEnum { public enum PlanTaskDetailIsFinishEnum {
UNFINISHED("未开始",0), UNFINISHED("未开始",0),
...@@ -64,6 +66,17 @@ public enum PlanTaskDetailIsFinishEnum { ...@@ -64,6 +66,17 @@ public enum PlanTaskDetailIsFinishEnum {
} }
return null; return null;
} }
public static List<Map<String,String>> getEnumList() {
List<Map<String,String>> nameList = new ArrayList<>();
for (PlanTaskDetailIsFinishEnum c: PlanTaskDetailIsFinishEnum.values()) {
Map<String, String> map = new HashMap<String, String>();
map.put("name", c.getName());
map.put("value", c.getValue() +"");
nameList.add(map);
}
return nameList;
}
public static List<String> getEnumNameList() { public static List<String> getEnumNameList() {
List<String> nameList = new ArrayList<String>(); List<String> nameList = new ArrayList<String>();
......
...@@ -7,7 +7,7 @@ import java.util.Map; ...@@ -7,7 +7,7 @@ import java.util.Map;
public enum PlanTaskFinishStatusEnum { public enum PlanTaskFinishStatusEnum {
NOTSTARTED("未开始",0), NOTSTARTED("未开始",0),
UNDERWAY("待执行",1), UNDERWAY("执行中",1),
FINISHED("已结束",2), FINISHED("已结束",2),
OVERTIME("已超时",3); OVERTIME("已超时",3);
......
...@@ -35,6 +35,8 @@ import com.yeejoin.amos.boot.module.common.api.dto.RequestData; ...@@ -35,6 +35,8 @@ import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.dto.WaterResourceZhDto; import com.yeejoin.amos.boot.module.common.api.dto.WaterResourceZhDto;
import com.yeejoin.amos.boot.module.common.api.entity.FireTeam; import com.yeejoin.amos.boot.module.common.api.entity.FireTeam;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient; import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.common.api.feign.IotFeignClient;
import com.yeejoin.amos.boot.module.common.api.service.IDutyCarService;
import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService; import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService;
import com.yeejoin.amos.boot.module.common.api.service.IFireChemicalService; import com.yeejoin.amos.boot.module.common.api.service.IFireChemicalService;
import com.yeejoin.amos.boot.module.common.api.service.IFireExpertsService; import com.yeejoin.amos.boot.module.common.api.service.IFireExpertsService;
...@@ -158,8 +160,10 @@ public class CommandController extends BaseController { ...@@ -158,8 +160,10 @@ public class CommandController extends BaseController {
@Autowired @Autowired
IDutyPersonService iDutyPersonService; IDutyPersonService iDutyPersonService;
@Autowired
IDutyCarService iDutyCarService;
@Autowired
IotFeignClient iotFeignClient;
/** /**
* 警情列表 * 警情列表
* *
...@@ -1098,6 +1102,7 @@ public class CommandController extends BaseController { ...@@ -1098,6 +1102,7 @@ public class CommandController extends BaseController {
public ResponseModel<Object> selectByAlertCalledId(@PathVariable Long id) { public ResponseModel<Object> selectByAlertCalledId(@PathVariable Long id) {
return ResponseHelper.buildResponse(iAlertCalledService.queryAlertCalledById(id)); return ResponseHelper.buildResponse(iAlertCalledService.queryAlertCalledById(id));
} }
/** /**
* app-根据id查询警情力量统计 * app-根据id查询警情力量统计
**/ **/
...@@ -1107,4 +1112,66 @@ public class CommandController extends BaseController { ...@@ -1107,4 +1112,66 @@ public class CommandController extends BaseController {
public ResponseModel<Object> statisticsByAlertCalledId(@PathVariable Long alertId) { public ResponseModel<Object> statisticsByAlertCalledId(@PathVariable Long alertId) {
return ResponseHelper.buildResponse(powerTransferService.getPowerTransferCarResourceStatistics(alertId)); return ResponseHelper.buildResponse(powerTransferService.getPowerTransferCarResourceStatistics(alertId));
} }
/**
* app-车辆状态列表
**/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/app/carStatus/list")
@ApiOperation(httpMethod = "GET", value = "app-车辆状态列表", notes = "app-车辆状态列表")
public ResponseModel<Object> carStatusList() {
return ResponseHelper.buildResponse(powerTransferService.getFireCarStatusList());
}
/**
* app-调派任务状态列表
**/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/app/dispatchTaskStatus/list")
@ApiOperation(httpMethod = "GET", value = "app-调派任务状态列表", notes = "app-调派任务状态列表")
public ResponseModel<Object> powerTransferResourceStatusList() {
return ResponseHelper.buildResponse(powerTransferService.getDispatchTaskStatusList());
}
/**
* app-当前登陆人是否是驾驶员
**/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/app/personPost")
@ApiOperation(httpMethod = "GET", value = "app-当前登陆人是否是驾驶员", notes = "app-当前登陆人是否是驾驶员")
public ResponseModel<Object> isFireCarDriver() {
return ResponseHelper.buildResponse(iDutyCarService.isFireCarDriver());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/DynamicFlightInfo/{dynamicFlightId}")
@ApiOperation(httpMethod = "GET", value = "航班信息", notes = "航班信息")
public ResponseModel<Object> DynamicFlightInfo(@PathVariable String dynamicFlightId) {
ResponseModel<Object> dataModel = iotFeignClient.DynamicFlightInfo(dynamicFlightId);
if (dataModel != null) {
return ResponseHelper.buildResponse(dataModel.getResult());
}
return ResponseHelper.buildResponse(null);
}
} }
\ No newline at end of file
...@@ -79,7 +79,7 @@ public class OrgPersonController { ...@@ -79,7 +79,7 @@ public class OrgPersonController {
@ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据") @ApiOperation(httpMethod = "PUT", value = "更新单位数据", notes = "更新单位数据")
public ResponseModel<?> updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgPersonDto OrgPersonVo, public ResponseModel<?> updateByIdOrgUsr(HttpServletRequest request, @RequestBody OrgPersonDto OrgPersonVo,
@PathVariable Long id) throws Exception { @PathVariable Long id) throws Exception {
OrgPersonVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON); //OrgPersonVo.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON);
iOrgUsrService.updateByIdOrgPerson(OrgPersonVo, id); iOrgUsrService.updateByIdOrgPerson(OrgPersonVo, id);
return ResponseHelper.buildResponse(null); return ResponseHelper.buildResponse(null);
} }
......
...@@ -402,10 +402,13 @@ public class OrgUsrController extends BaseController { ...@@ -402,10 +402,13 @@ public class OrgUsrController extends BaseController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/getLoginUserDetails", method = RequestMethod.GET) @RequestMapping(value = "/getLoginUserDetails", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取登陆人绑定的人员关系", notes = "获取登陆人绑定的人员关系") @ApiOperation(httpMethod = "GET", value = "获取登陆人绑定的人员关系", notes = "获取登陆人绑定的人员关系")
public ResponseModel<List<Map<String, Object>>> getLoginUserDetails() { public ResponseModel<List<Map<String, Object>>> getLoginUserDetails(@RequestParam(value = "userId", required = false) String userId) {
// 获取登陆人角色
AgencyUserModel user = getUserInfo(); AgencyUserModel user = getUserInfo();
List<Map<String, Object>> loginUserDetails = iOrgUsrService.getLoginUserDetails(user); String userIds = userId;
if (StringUtils.isEmpty(userIds)) {
userIds = user.getUserId();
}
List<Map<String, Object>> loginUserDetails = iOrgUsrService.getLoginUserDetails(userIds);
return ResponseHelper.buildResponse(loginUserDetails); return ResponseHelper.buildResponse(loginUserDetails);
} }
......
package com.yeejoin.amos.boot.module.common.biz.service.impl; package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto; import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
import com.yeejoin.amos.boot.module.common.api.entity.DutyPersonShift; import com.yeejoin.amos.boot.module.common.api.entity.DutyPersonShift;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn; import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance; import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.FirefightersMapper;
import com.yeejoin.amos.boot.module.common.api.service.IDutyCarService; import com.yeejoin.amos.boot.module.common.api.service.IDutyCarService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -23,6 +31,17 @@ import java.util.stream.Collectors; ...@@ -23,6 +31,17 @@ import java.util.stream.Collectors;
@Service @Service
public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCarService { public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCarService {
@Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
@Autowired
FirefightersMapper firefightersMapper;
@Autowired
EquipFeignClient equipFeignClient;
String driverPostTypeCode = "5";
@Override @Override
public String getGroupCode() { public String getGroupCode() {
return "dutyCar"; return "dutyCar";
...@@ -78,4 +97,49 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa ...@@ -78,4 +97,49 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa
private void buildFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column, DynamicFormInstance formInstance) { private void buildFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column, DynamicFormInstance formInstance) {
fillFormInstanceData(instanceId, map, column, formInstance, sequence.nextId()); fillFormInstanceData(instanceId, map, column, formInstance, sequence.nextId());
} }
@Override
public JSONObject isFireCarDriver() {
JSONObject result = new JSONObject();
result.put("isDriver", false);
result.put("carStatus", "");
result.put("carId", "");
String loginUserId = RequestContext.getExeUserId();
// 根据登陆人id查询对应消防人员
Firefighters firefighters =
firefightersMapper.selectOne(new LambdaQueryWrapper<Firefighters>().eq(Firefighters::getSystemAccount,
loginUserId));
if (ValidationUtil.isEmpty(firefighters)) {
return result;
}
// 消防人员id
Long fighterId = firefighters.getSequenceNbr();
// 当前值班班次id
List<Long> shiftIdList = getDutyShiftIdList();
if (ValidationUtil.isEmpty(shiftIdList)) {
return result;
}
// 当前值班人员-车辆信息
List<Map<String, Object>> personList = dayDutyPersonList(DateUtils.getDateNowShortStr(), shiftIdList.get(0),
driverPostTypeCode);
if (ValidationUtil.isEmpty(personList)) {
return result;
}
personList = personList.stream().filter(m -> fighterId.equals(m.get("userId"))).collect(Collectors.toList());
if (ValidationUtil.isEmpty(personList)) {
return result;
}
result.put("isDriver", true);
result.put("carId", personList.get(0).get("carId"));
ResponseModel<Map<String, Object>> resultModel =
equipFeignClient.queryCarSimpleInfoById((Long) personList.get(0).get("carId"));
Map<String, Object> carInfo = resultModel.getResult();
result.put("carStatus", carInfo.get("carStatus"));
return result;
}
} }
...@@ -350,7 +350,6 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -350,7 +350,6 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
pageBean.setTotal(this.baseMapper.selectPersonListCount(map)); pageBean.setTotal(this.baseMapper.selectPersonListCount(map));
map.put("pageNum", (pageBean.getCurrent() - 1) * pageBean.getSize()); map.put("pageNum", (pageBean.getCurrent() - 1) * pageBean.getSize());
map.put("pageSize", pageBean.getSize()); map.put("pageSize", pageBean.getSize());
List<Map<String, Object>> list = this.baseMapper.selectPersonList(map); List<Map<String, Object>> list = this.baseMapper.selectPersonList(map);
/*Bug2652 根据名字和工号模糊查询失效 已添加模糊匹配 2021-09-01 陈召 结束*/ /*Bug2652 根据名字和工号模糊查询失效 已添加模糊匹配 2021-09-01 陈召 结束*/
...@@ -640,7 +639,9 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -640,7 +639,9 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
orgUsr.setSequenceNbr(id); orgUsr.setSequenceNbr(id);
/* Bug 2647 编辑用户所属单位后按单位筛选人员结果错误 增加了 638 639 两行代码 根据修改的部门调整部门code 2021-09-03 陈召 开始*/ /* Bug 2647 编辑用户所属单位后按单位筛选人员结果错误 增加了 638 639 两行代码 根据修改的部门调整部门code 2021-09-03 陈召 开始*/
OrgUsr parent = getById(OrgPersonVo.getParentId()); OrgUsr parent = getById(OrgPersonVo.getParentId());
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr()); if (!ObjectUtils.isEmpty(parent)){
orgUsr.setBizOrgCode(parent.getBizOrgCode() + getOrgCodeStr());
}
/* Bug 2647 编辑用户所属单位后按单位筛选人员结果错误 增加了 638 639 两行代码 根据修改的部门调整部门code 2021-09-03 陈召 结束*/ /* Bug 2647 编辑用户所属单位后按单位筛选人员结果错误 增加了 638 639 两行代码 根据修改的部门调整部门code 2021-09-03 陈召 结束*/
if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) { if (!ObjectUtils.isEmpty(OrgPersonVo.getAmosOrgId())) {
AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult(); AgencyUserModel user = Privilege.agencyUserClient.queryByUserId(OrgPersonVo.getAmosOrgId()).getResult();
...@@ -1348,10 +1349,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -1348,10 +1349,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
@Override @Override
public List<Map<String, Object>> getLoginUserDetails (AgencyUserModel user) { public List<Map<String, Object>> getLoginUserDetails (String userId) {
// 获取登陆人关联账号 // 获取登陆人关联账号
List<OrgUsr> orgUsrs = orgUsrList(user); List<OrgUsr> orgUsrs = getUsrList(userId);
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
if (!ObjectUtils.isEmpty(orgUsrs)) { if (!ObjectUtils.isEmpty(orgUsrs)) {
orgUsrs.forEach(orgUsr -> { orgUsrs.forEach(orgUsr -> {
...@@ -1370,6 +1371,19 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -1370,6 +1371,19 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return list; return list;
} }
/**
* 获取登陆人关联账号
*/
private List<OrgUsr> getUsrList(String userId) {
// 获取登陆人角色
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr::getIsDelete, false);
wrapper.eq(OrgUsr::getAmosOrgId, userId);
wrapper.eq(OrgUsr::getBizOrgType, OrgPersonEnum.人员.getKey());
List<OrgUsr> orgUsrList = this.baseMapper.selectList(wrapper);
return orgUsrList;
}
} }
...@@ -90,10 +90,7 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile ...@@ -90,10 +90,7 @@ public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile
public void saveAttachments(Long sequenceNbr, Map<String, List<AttachmentDto>> attachmentMap) { public void saveAttachments(Long sequenceNbr, Map<String, List<AttachmentDto>> attachmentMap) {
if (!ValidationUtil.isEmpty(attachmentMap)) { if (!ValidationUtil.isEmpty(attachmentMap)) {
List<SourceFile> sourceFiles = Lists.newArrayList(); List<SourceFile> sourceFiles = Lists.newArrayList();
attachmentMap.entrySet().forEach(entry -> { attachmentMap.forEach((key, attachments) -> sourceFiles.addAll(attachment2SourceFile(key, attachments)));
List<AttachmentDto> attachments = entry.getValue();
sourceFiles.addAll(attachment2SourceFile(entry.getKey(), attachments));
});
saveSourceFile(sequenceNbr, sourceFiles); saveSourceFile(sequenceNbr, sourceFiles);
} }
} }
......
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import java.util.List;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.AlertCalledFeedbackServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledFeedbackDto;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
/**
* 警情反馈
*
* @author system_generator
* @date 2021-09-08
*/
@RestController
@Api(tags = "警情反馈Api")
@RequestMapping(value = "/alert-called-feedback")
public class AlertCalledFeedbackController extends BaseController {
@Autowired
AlertCalledFeedbackServiceImpl alertCalledFeedbackServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<AlertCalledFeedbackDto> save(@RequestBody AlertCalledFeedbackDto model) {
alertCalledFeedbackServiceImpl.handleFeedback(model);
return ResponseHelper.buildResponse(model);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<AlertCalledFeedbackDto> updateBySequenceNbrAlertCalledFeedback(@RequestBody AlertCalledFeedbackDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(alertCalledFeedbackServiceImpl.updateWithModel(model));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(alertCalledFeedbackServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<AlertCalledFeedbackDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(alertCalledFeedbackServiceImpl.queryBySeq(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<AlertCalledFeedbackDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<AlertCalledFeedbackDto> page = new Page<AlertCalledFeedbackDto>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(alertCalledFeedbackServiceImpl.queryForAlertCalledFeedbackPage(page));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<AlertCalledFeedbackDto>> selectForList() {
return ResponseHelper.buildResponse(alertCalledFeedbackServiceImpl.queryForAlertCalledFeedbackList());
}
}
...@@ -303,6 +303,8 @@ public class AircraftServiceImpl extends BaseService<AircraftDto, Aircraft, Airc ...@@ -303,6 +303,8 @@ public class AircraftServiceImpl extends BaseService<AircraftDto, Aircraft, Airc
return map; return map;
} }
@Override @Override
public Aircraft queryAircraftInfoByModel(String aircraftModel) { public Aircraft queryAircraftInfoByModel(String aircraftModel) {
return this.baseMapper.selectOne(new LambdaQueryWrapper<Aircraft>().eq(Aircraft::getAircraftModel, aircraftModel)); return this.baseMapper.selectOne(new LambdaQueryWrapper<Aircraft>().eq(Aircraft::getAircraftModel, aircraftModel));
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.biz.service.impl.SourceFileServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.dto.AlertCalledFeedbackDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.AlertCalledFeedback;
import com.yeejoin.amos.boot.module.jcs.api.mapper.AlertCalledFeedbackMapper;
import com.yeejoin.amos.boot.module.jcs.api.mapper.PowerTransferMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IAlertCalledFeedbackService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.List;
/**
* 服务实现类
*
* @author system_generator
* @date 2021-09-08
*/
@Service
public class AlertCalledFeedbackServiceImpl extends BaseService<AlertCalledFeedbackDto, AlertCalledFeedback, AlertCalledFeedbackMapper> implements IAlertCalledFeedbackService {
@Autowired
SourceFileServiceImpl sourceFileService;
@Autowired
PowerTransferMapper powerTransferMapper;
/**
* 分页查询
*/
public Page<AlertCalledFeedbackDto> queryForAlertCalledFeedbackPage(Page<AlertCalledFeedbackDto> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<AlertCalledFeedbackDto> queryForAlertCalledFeedbackList() {
return this.queryForList("", false);
}
@Override
public boolean handleFeedback(AlertCalledFeedbackDto model) {
Long alertCalledId = model.getAlertCalledId();
// 更新警情调派任务状态
List<String> carIdList = powerTransferMapper.queryTransferCarIdsByAlertCalledId(alertCalledId);
// 保存警情反馈
model = createWithModel(model);
// 保存警情反馈图片
sourceFileService.saveAttachments(model.getSequenceNbr(), model.getAttachments());
return true;
}
}
\ No newline at end of file
...@@ -671,6 +671,16 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal ...@@ -671,6 +671,16 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto, AlertCal
return map; return map;
} }
//未结案警情统计
@Override
public Integer AlertCalledcount(int type) {
return alertCalledMapper.AlertCalledcount(1);
}
@Override @Override
public List<JSONObject> queryDisposalObjectList(String alertId) { public List<JSONObject> queryDisposalObjectList(String alertId) {
AlertCalled alertCalled = this.getById(Long.valueOf(alertId)); AlertCalled alertCalled = this.getById(Long.valueOf(alertId));
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import com.yeejoin.amos.boot.module.jcs.api.mapper.AlertCalledMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.IAlertCalledService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class DispatchMapServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Autowired
AlertCalledMapper alertCalledMapper;
private static AlertCalledMapper alertCalledMapper1;
@PostConstruct
public void init(){
alertCalledMapper1= alertCalledMapper;
}
@Override
public Object getHomePageData() {
Integer num= alertCalledMapper1.AlertCalledcount(1);
return num;
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import com.yeejoin.amos.boot.module.jcs.api.mapper.AlertCalledMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class DispatchTaskServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Autowired
AlertCalledMapper alertCalledMapper;
private static AlertCalledMapper alertCalledMapper1;
@PostConstruct
public void init(){
alertCalledMapper1= alertCalledMapper;
}
@Override
public Object getHomePageData() {
Integer num= alertCalledMapper1.AlertCalledcount(1);
return num;
}
}
package com.yeejoin.amos.boot.module.command.biz.service.impl; package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.module.command.api.service.IHomePageService; import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import org.springframework.stereotype.Service;
/** /**
* @description: * @description:
* @author: tw * @author: tw
* @createDate: 2021/9/8 * @createDate: 2021/9/8
*/ */
public class DispatchMapServiceImpl implements IHomePageService { @Service
public class FaultServiceImpl implements IHomePageService {
//实现首页dispatchMap //实现首页dispatchMap
......
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class FireAlarmServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Override
public Object getHomePageData() {
return 0;
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class NoServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Override
public Object getHomePageData() {
return 0;
}
}
...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer; ...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransfer;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany; import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompany;
import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources; import com.yeejoin.amos.boot.module.jcs.api.entity.PowerTransferCompanyResources;
import com.yeejoin.amos.boot.module.jcs.api.entity.Template; import com.yeejoin.amos.boot.module.jcs.api.entity.Template;
import com.yeejoin.amos.boot.module.jcs.api.enums.AlertFeedbackStatusEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum; import com.yeejoin.amos.boot.module.jcs.api.enums.DutyInfoEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum; import com.yeejoin.amos.boot.module.jcs.api.enums.FireBrigadeTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.enums.FireCarStatusEnum; import com.yeejoin.amos.boot.module.jcs.api.enums.FireCarStatusEnum;
...@@ -52,7 +53,6 @@ import java.util.ArrayList; ...@@ -52,7 +53,6 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -513,6 +513,7 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe ...@@ -513,6 +513,7 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
List<Long> shiftIdList = dutyCarService.getDutyShiftIdList(); List<Long> shiftIdList = dutyCarService.getDutyShiftIdList();
List<Map<String, Object>> allDutyPersonList = Lists.newArrayList(); List<Map<String, Object>> allDutyPersonList = Lists.newArrayList();
if (!ValidationUtil.isEmpty(shiftIdList)) { if (!ValidationUtil.isEmpty(shiftIdList)) {
// 当前值班车辆-人
allDutyPersonList = dutyCarService.dayDutyPersonList(DateUtils.getDateNowShortStr(), allDutyPersonList = dutyCarService.dayDutyPersonList(DateUtils.getDateNowShortStr(),
shiftIdList.get(0), null); shiftIdList.get(0), null);
} }
...@@ -541,4 +542,14 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe ...@@ -541,4 +542,14 @@ public class PowerTransferServiceImpl extends BaseService<PowerTransferDto, Powe
jsonObject.put("count", agentCountArrived); jsonObject.put("count", agentCountArrived);
resourceStatistics.put(jsonKey, jsonObject); resourceStatistics.put(jsonKey, jsonObject);
} }
@Override
public List<Map<String, String>> getFireCarStatusList() {
return FireCarStatusEnum.toList();
}
@Override
public List<Map<String, String>> getDispatchTaskStatusList() {
return AlertFeedbackStatusEnum.toList();
}
} }
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class ShieldServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Override
public Object getHomePageData() {
return 0;
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class WarningServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Override
public Object getHomePageData() {
return 0;
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.yeejoin.amos.boot.biz.common.service.IHomePageService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: tw
* @createDate: 2021/9/8
*/
@Service
public class YesServiceImpl implements IHomePageService {
//实现首页dispatchMap
@Override
public Object getHomePageData() {
return 0;
}
}
...@@ -7,6 +7,7 @@ import java.util.List; ...@@ -7,6 +7,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.core.enums.QueryOperatorEnum; import com.yeejoin.amos.supervision.core.enums.QueryOperatorEnum;
import com.yeejoin.amos.supervision.core.util.StringUtil; import com.yeejoin.amos.supervision.core.util.StringUtil;
import org.springframework.cglib.beans.BeanMap; import org.springframework.cglib.beans.BeanMap;
...@@ -653,4 +654,7 @@ public abstract class AbstractBaseController extends BaseController{ ...@@ -653,4 +654,7 @@ public abstract class AbstractBaseController extends BaseController{
return map; return map;
} }
public ReginParams.PersonIdentity opIdentifyInfo(){
return getSelectedOrgInfo().getPersonIdentity();
}
} }
...@@ -22,6 +22,7 @@ import javax.xml.transform.stream.StreamSource; ...@@ -22,6 +22,7 @@ import javax.xml.transform.stream.StreamSource;
import com.yeejoin.amos.supervision.business.vo.CheckAnalysisVo; import com.yeejoin.amos.supervision.business.vo.CheckAnalysisVo;
import com.yeejoin.amos.supervision.business.vo.CheckInfoVo; import com.yeejoin.amos.supervision.business.vo.CheckInfoVo;
import com.yeejoin.amos.supervision.core.async.AsyncTask; import com.yeejoin.amos.supervision.core.async.AsyncTask;
import com.yeejoin.amos.supervision.core.framework.PersonIdentify;
import com.yeejoin.amos.supervision.core.util.DateUtil; import com.yeejoin.amos.supervision.core.util.DateUtil;
import com.yeejoin.amos.supervision.core.util.StringUtil; import com.yeejoin.amos.supervision.core.util.StringUtil;
import com.yeejoin.amos.supervision.mqtt.WebMqttComponent; import com.yeejoin.amos.supervision.mqtt.WebMqttComponent;
...@@ -543,19 +544,19 @@ public class CheckController extends AbstractBaseController { ...@@ -543,19 +544,19 @@ public class CheckController extends AbstractBaseController {
@ApiOperation(value = "查询计划执行结果信息", notes = "查询计划执行结果信息") @ApiOperation(value = "查询计划执行结果信息", notes = "查询计划执行结果信息")
@GetMapping(value = "/page/list", produces = "application/json;charset=UTF-8") @GetMapping(value = "/page/list", produces = "application/json;charset=UTF-8")
public ResponseModel getPlanExecuteInfo( public ResponseModel getPlanExecuteInfo(
@ApiParam(value = "计划id") @RequestParam(value = "planId") Long planId, @ApiParam(value = "计划id") @RequestParam(value = "routeId") Long routeId,
@ApiParam(value = "点id") @RequestParam(value = "pointId", required = false) Long pointId, @ApiParam(value = "点id") @RequestParam(value = "pointId", required = false) Long pointId,
@ApiParam(value = "执行状态") @RequestParam(value = "executeState", required = false) String executeState, @ApiParam(value = "执行状态") @RequestParam(value = "executeState", required = false) String executeState,
@ApiParam(value = "状态") @RequestParam(value = "status", required = false) String status, @ApiParam(value = "状态") @RequestParam(value = "status", required = false) String status,
@ApiParam(value = "单位id") @RequestParam(value = "companyName", required = false) String companyName, @ApiParam(value = "单位id") @RequestParam(value = "teamId", required = false) String teamId,
@ApiParam(value = "当前页") @RequestParam(value = "pageNumber") int pageNumber, @ApiParam(value = "当前页") @RequestParam(value = "pageNumber") int pageNumber,
@ApiParam(value = "页大小") @RequestParam(value = "pageSize") int pageSize) { @ApiParam(value = "页大小") @RequestParam(value = "pageSize") int pageSize) {
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("planId", planId); map.put("routeId", routeId);
map.put("pointId", pointId); map.put("pointId", pointId);
map.put("executeState", executeState); map.put("executeState", executeState);
map.put("status", status); map.put("status", status);
map.put("companyName", companyName); map.put("teamId", teamId);
CommonPageable pageable = new CommonPageable(pageNumber, pageSize); CommonPageable pageable = new CommonPageable(pageNumber, pageSize);
return ResponseHelper.buildResponse(checkService.getPlanExecuteInfo(map, pageable)); return ResponseHelper.buildResponse(checkService.getPlanExecuteInfo(map, pageable));
} }
...@@ -567,13 +568,7 @@ public class CheckController extends AbstractBaseController { ...@@ -567,13 +568,7 @@ public class CheckController extends AbstractBaseController {
return ResponseHelper.buildResponse(checkService.getPlanExecuteStates()); return ResponseHelper.buildResponse(checkService.getPlanExecuteStates());
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @PersonIdentify
@ApiOperation(value = "查询计划执行所有单位", notes = "查询计划执行所有单位")
@GetMapping(value = "/search/teams", produces = "application/json;charset=UTF-8")
public ResponseModel getPlanExecuteTeams() {
return ResponseHelper.buildResponse(checkService.getPlanExecuteTeams());
}
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "保存检查记录", notes = "保存检查记录") @ApiOperation(value = "保存检查记录", notes = "保存检查记录")
@RequestMapping(value = "/saveRecord", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/saveRecord", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
......
...@@ -809,8 +809,17 @@ public class PointController extends AbstractBaseController { ...@@ -809,8 +809,17 @@ public class PointController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询巡检点详情<font color='blue'>手机app</font>)", notes = "查询巡检点详情<font color='blue'>手机app</font>)") @ApiOperation(value = "查询巡检点详情<font color='blue'>手机app</font>)", notes = "查询巡检点详情<font color='blue'>手机app</font>)")
@GetMapping(value = "/detail/item", produces = "application/json;charset=UTF-8") @GetMapping(value = "/detail/item", produces = "application/json;charset=UTF-8")
public ResponseModel queryItemDetailByPointId(@ApiParam(value = "巡检点id", required = true) @RequestParam(name = "pointId") Long id) { public ResponseModel queryItemDetailByPointId(
return ResponseHelper.buildResponse(iPointService.queryItemDetailByPointId(id)); @ApiParam(value = "路线id", required = true) @RequestParam(name = "routeId") Long routeId,
@ApiParam(value = "巡检点id", required = true) @RequestParam(name = "pointId") Long id) {
return ResponseHelper.buildResponse(iPointService.queryItemDetailByPointId(id, routeId));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询计划执行所有单位", notes = "查询计划执行所有单位")
@GetMapping(value = "/search/teams", produces = "application/json;charset=UTF-8")
public ResponseModel getPlanExecuteTeams() {
return ResponseHelper.buildResponse(iPointService.getPlanExecuteTeams());
} }
} }
...@@ -11,6 +11,7 @@ import java.util.TreeSet; ...@@ -11,6 +11,7 @@ import java.util.TreeSet;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.yeejoin.amos.supervision.core.framework.PersonIdentify;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService; import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.supervision.jpush.AppMessagePushService; import com.yeejoin.amos.supervision.jpush.AppMessagePushService;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -846,4 +847,12 @@ public class UserController extends AbstractBaseController { ...@@ -846,4 +847,12 @@ public class UserController extends AbstractBaseController {
return CommonResponseUtil.failure(e.getMessage()); return CommonResponseUtil.failure(e.getMessage());
} }
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PersonIdentify
@ApiOperation(value = "获取人员身份信息", notes = " 获取人员身份信息")
@GetMapping(value = "/identify")
public CommonResponse personIdentity() {
return CommonResponseUtil.success(opIdentifyInfo());
}
} }
...@@ -6,7 +6,7 @@ import org.apache.ibatis.annotations.Param; ...@@ -6,7 +6,7 @@ import org.apache.ibatis.annotations.Param;
public interface PlanTaskDetailMapper extends BaseMapper { public interface PlanTaskDetailMapper extends BaseMapper {
void finishTaskDetail(@Param(value="planTaskDetailId") long planTaskDetailId, @Param(value="pointId") long pointId, @Param(value="planTaskId") long planTaskId void finishTaskDetail(@Param(value="planTaskDetailId") long planTaskDetailId, @Param(value="pointId") long pointId, @Param(value="planTaskId") long planTaskId
, @Param(value="executorId") String executorId , @Param(value="executorName") String executorName); , @Param(value="executorId") String executorId , @Param(value="executorName") String executorName , @Param(value="size") int size );
Map findPlanTaskByTaskIdAndPointId(@Param(value="planTaskId") long planTaskId,@Param(value="pointId") long pointId); Map findPlanTaskByTaskIdAndPointId(@Param(value="planTaskId") long planTaskId,@Param(value="pointId") long pointId);
......
...@@ -12,6 +12,7 @@ import com.yeejoin.amos.supervision.business.param.PlanTaskPageParam; ...@@ -12,6 +12,7 @@ import com.yeejoin.amos.supervision.business.param.PlanTaskPageParam;
import com.yeejoin.amos.supervision.business.vo.CodeOrderVo; import com.yeejoin.amos.supervision.business.vo.CodeOrderVo;
import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo; import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo;
import com.yeejoin.amos.supervision.business.vo.PlanTaskVo; import com.yeejoin.amos.supervision.business.vo.PlanTaskVo;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.yeejoin.amos.supervision.dao.entity.PlanTask; import com.yeejoin.amos.supervision.dao.entity.PlanTask;
...@@ -77,10 +78,12 @@ public interface PlanTaskMapper extends BaseMapper { ...@@ -77,10 +78,12 @@ public interface PlanTaskMapper extends BaseMapper {
Map queryPlanTaskById(@Param(value="planTaskId") Long planTaskId); Map queryPlanTaskById(@Param(value="planTaskId") Long planTaskId);
/** /**
* 通过计划任务Id获取任务所有点信息 * 通过计划任务Id获取任务所有点信息
* @param planTaskId * @param params
* @return * @return
*/ */
List getPlanTaskPoints(@Param(value="planTaskId") Long planTaskId); List<Map<String, Object>> getPlanTaskPoints(HashMap<String, Object> params);
long getPlanTaskPointsCount(HashMap<String, Object> params);
/** /**
* 获取用户当前所有可以做的任务个数 * 获取用户当前所有可以做的任务个数
* @param userId * @param userId
......
...@@ -157,5 +157,10 @@ public interface PointMapper extends BaseMapper { ...@@ -157,5 +157,10 @@ public interface PointMapper extends BaseMapper {
*/ */
List<Long> getPointoriginalidbyrouteid(@Param(value = "routeId") Long routeId); List<Long> getPointoriginalidbyrouteid(@Param(value = "routeId") Long routeId);
List<Map<String, Object>> queryItemsByPointId(@Param(value = "pointId") Long pointId); List<Map<String, Object>> queryItemsByPointId(@Param(value = "pointId") Long pointId ,@Param(value = "routeId") Long routeId);
/**
* 查询点id,name
*/
List<Map<String, Object>> getPlanExecuteTeams();
} }
...@@ -21,9 +21,12 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor { ...@@ -21,9 +21,12 @@ public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {
} }
ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes; ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
HttpServletRequest request = attributes.getRequest(); HttpServletRequest request = attributes.getRequest();
//设置header //设置header
String token = request.getHeader("X-Access-Token"); String token = request.getHeader("token");
if (token == null) {
token = request.getHeader("X-Access-Token");
}
String product = request.getHeader("product"); String product = request.getHeader("product");
String appKey = request.getHeader("appKey"); String appKey = request.getHeader("appKey");
template.header("token", token); template.header("token", token);
......
package com.yeejoin.amos.supervision.business.feign;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
* @author DELL
*/
@FeignClient(name = "${jcs.fegin.name}",configuration = FeignConfiguration.class)
public interface JCSFeignClient {
/**
* 查询用户单位信息
* @param userId 用户id
* @return ResponseModel<ReginParams.PersonIdentity>
*/
@GetMapping(value = "jcs/org-usr/getLoginUserDetails?userId={userId}")
FeignClientResult getUserUnit(@PathVariable String userId);
}
...@@ -939,13 +939,12 @@ public class CheckServiceImpl implements ICheckService { ...@@ -939,13 +939,12 @@ public class CheckServiceImpl implements ICheckService {
if (total == 0) { if (total == 0) {
return new PageImpl<>(content, page, total); return new PageImpl<>(content, page, total);
} }
map.put("status", PlanTaskFinishStatusEnum.getValue(String.valueOf(map.get("status"))));
map.put("offset", page.getOffset()); map.put("offset", page.getOffset());
map.put("pageSize", page.getPageSize()); map.put("pageSize", page.getPageSize());
content = checkMapper.getCheckItems(map); content = checkMapper.getCheckItems(map);
content.forEach(c -> { content.forEach(c -> {
if (c.containsKey("finishStatus")) { if (c.containsKey("finishStatus")) {
String finishStatusDesc = PlanTaskFinishStatusEnum.getName(Integer.parseInt(c.get("finishStatus").toString())); String finishStatusDesc = CheckItemFinishStatusEnum.getName(c.get("finishStatus").toString());
c.put("finishStatus", finishStatusDesc); c.put("finishStatus", finishStatusDesc);
} }
}); });
...@@ -953,8 +952,8 @@ public class CheckServiceImpl implements ICheckService { ...@@ -953,8 +952,8 @@ public class CheckServiceImpl implements ICheckService {
} }
@Override @Override
public List<Map<String, String>> getPlanExecuteStates() { public List<Map<String, Object>> getPlanExecuteStates() {
return PlanTaskFinishStatusEnum.getEnumList(); return CheckItemFinishStatusEnum.getEnumList();
} }
@Override @Override
...@@ -1385,12 +1384,11 @@ public class CheckServiceImpl implements ICheckService { ...@@ -1385,12 +1384,11 @@ public class CheckServiceImpl implements ICheckService {
@Transactional @Transactional
public CheckDto saveCheckRecord(CheckRecordParam recordParam, ReginParams reginParams) throws Exception { public CheckDto saveCheckRecord(CheckRecordParam recordParam, ReginParams reginParams) throws Exception {
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity(); ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
//执行人-维保人员,非amos 账号 if (ObjectUtils.isEmpty(reginParams.getUserModel()) && ObjectUtils.isEmpty(reginParams.getCompany()) && ObjectUtils.isEmpty(personIdentity) ) {
if (ObjectUtils.isEmpty(reginParams.getUserModel()) && ObjectUtils.isEmpty(reginParams.getCompany()) && ObjectUtils.isEmpty(reginParams.getDepartment()) ) {
throw new RuntimeException("获取用户信息失败"); throw new RuntimeException("获取用户信息失败");
} }
String mtUserSeq = reginParams.getUserModel().getUserId(); String mtUserSeq = personIdentity.getPersonSeq();
String userName = reginParams.getUserModel().getUserName(); String userName = personIdentity.getPersonName();
// String mtUserSeq = personIdentity.getPersonSeq(); // String mtUserSeq = personIdentity.getPersonSeq();
PlanTask planTask = planTaskService.selectPlanTaskStatus(recordParam.getPlanTaskId()); PlanTask planTask = planTaskService.selectPlanTaskStatus(recordParam.getPlanTaskId());
Map detail = planTaskDetailMapper.findPlanTaskByTaskIdAndPointId(recordParam.getPlanTaskId(), recordParam.getPointId()); Map detail = planTaskDetailMapper.findPlanTaskByTaskIdAndPointId(recordParam.getPlanTaskId(), recordParam.getPointId());
...@@ -1420,11 +1418,11 @@ public class CheckServiceImpl implements ICheckService { ...@@ -1420,11 +1418,11 @@ public class CheckServiceImpl implements ICheckService {
check.setUserId(mtUserSeq); check.setUserId(mtUserSeq);
check.setCheckTime(new Date()); check.setCheckTime(new Date());
check.setUploadTime(new Date()); check.setUploadTime(new Date());
check.setUserName(reginParams.getUserModel().getUserName()); check.setUserName(personIdentity.getPersonName());
check.setCompanyId(reginParams.getCompany().getSequenceNbr().toString()); check.setCompanyId(reginParams.getCompany().getSequenceNbr().toString());
check.setCompanyName(reginParams.getCompany().getCompanyName()); check.setCompanyName(reginParams.getCompany().getCompanyName());
check.setDepId(reginParams.getDepartment().getSequenceNbr().toString()); check.setDepId(personIdentity.getCompanyId());
check.setDepName(reginParams.getDepartment().getDepartmentName()); check.setDepName(personIdentity.getCompanyName());
} else { } else {
// 更新 // 更新
check = checkByPointId; check = checkByPointId;
...@@ -1446,11 +1444,11 @@ public class CheckServiceImpl implements ICheckService { ...@@ -1446,11 +1444,11 @@ public class CheckServiceImpl implements ICheckService {
if (!companyName.contains(reginParams.getCompany().getCompanyName())) { if (!companyName.contains(reginParams.getCompany().getCompanyName())) {
check.setCompanyName(companyName+","+reginParams.getCompany().getCompanyName()); check.setCompanyName(companyName+","+reginParams.getCompany().getCompanyName());
} }
if (!depId.contains(reginParams.getDepartment().getSequenceNbr().toString())) { if (!depId.contains(personIdentity.getCompanyId())) {
check.setDepId(depId+","+reginParams.getDepartment().getSequenceNbr().toString()); check.setDepId(depId+","+personIdentity.getCompanyId());
} }
if (!depName.contains(reginParams.getDepartment().getDepartmentName())) { if (!depName.contains(personIdentity.getCompanyName())) {
check.setDepName(depName+","+reginParams.getDepartment().getDepartmentName()); check.setDepName(depName+","+personIdentity.getCompanyName());
} }
} }
...@@ -1553,7 +1551,13 @@ public class CheckServiceImpl implements ICheckService { ...@@ -1553,7 +1551,13 @@ public class CheckServiceImpl implements ICheckService {
checkShotDao.saveAll(allShot); checkShotDao.saveAll(allShot);
} }
planTaskDetailMapper.finishTaskDetail(Long.parseLong(detail.get("planTaskDetailId").toString()), recordParam.getPointId(), recordParam.getPlanTaskId(), mtUserSeq, userName); int size = 0;
if (!ObjectUtils.isEmpty(list)) {
size = list.size();
}
planTaskDetailMapper.finishTaskDetail(Long.parseLong(detail.get("planTaskDetailId").toString()), recordParam.getPointId(),
recordParam.getPlanTaskId(), mtUserSeq, userName, size);
//7.返回不合格记录 //7.返回不合格记录
return new CheckDto(check.getId(), unqualifiedCheckItemList); return new CheckDto(check.getId(), unqualifiedCheckItemList);
} catch (Exception e) { } catch (Exception e) {
......
...@@ -15,6 +15,7 @@ import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone; ...@@ -15,6 +15,7 @@ import com.yeejoin.amos.supervision.core.common.response.PlanPointRespone;
import com.yeejoin.amos.supervision.core.util.DateUtil; import com.yeejoin.amos.supervision.core.util.DateUtil;
import com.yeejoin.amos.supervision.dao.entity.*; import com.yeejoin.amos.supervision.dao.entity.*;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService; import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import org.apache.commons.lang.StringUtils;
import org.apache.velocity.util.ArrayListWrapper; import org.apache.velocity.util.ArrayListWrapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -150,6 +151,10 @@ public class PlanServiceImpl implements IPlanService { ...@@ -150,6 +151,10 @@ public class PlanServiceImpl implements IPlanService {
saveRoute.setName(plan.getName()); saveRoute.setName(plan.getName());
saveRoute.setOrgCode(plan.getOrgCode()); saveRoute.setOrgCode(plan.getOrgCode());
saveRoute.setCreatorId(plan.getCreateBy()); saveRoute.setCreatorId(plan.getCreateBy());
if (!ObjectUtils.isEmpty(addPlanRequest.getOwnerId())) {
String ownerId = StringUtils.join(addPlanRequest.getOwnerId().toArray(), ",");
saveRoute.setOwnerId(ownerId);
}
Route route = iRouteDao.save(saveRoute); Route route = iRouteDao.save(saveRoute);
if (!ObjectUtils.isEmpty(route.getId())) { if (!ObjectUtils.isEmpty(route.getId())) {
...@@ -166,16 +171,19 @@ public class PlanServiceImpl implements IPlanService { ...@@ -166,16 +171,19 @@ public class PlanServiceImpl implements IPlanService {
routePoint.setRouteId(route.getId()); routePoint.setRouteId(route.getId());
routePoint.setPointId(point); routePoint.setPointId(point);
iRoutePointDao.save(routePoint); iRoutePointDao.save(routePoint);
// List<PointInputItem> pointInputItems = pointMapper.getCheckPointById(point);
List<PointInputItem> pointInputItems = iPointInputItemDao.getPointInputItemByPointId(point);
pointMapper.getPointClassInputItemById(point);
if (!ObjectUtils.isEmpty(pointInputItems)) {
pointInputItems.forEach(pointInputItem -> {
RoutePointItem routePointItem = new RoutePointItem();
routePointItem.setRoutePointId(routePoint.getId());
routePointItem.setPointInputItemId(pointInputItem.getId());
iRoutePointItemDao.save(routePointItem);
});
}
}); });
List<PointInputItem> pointInputItems = pointMapper.getPointRouteItem(pointVos);
if (!ObjectUtils.isEmpty(pointInputItems)) {
pointInputItems.forEach(pointInputItem -> {
RoutePointItem routePointItem = new RoutePointItem();
routePointItem.setRoutePointId(route.getId());
routePointItem.setPointInputItemId(pointInputItem.getId());
iRoutePointItemDao.save(routePointItem);
});
}
} }
} }
} }
......
...@@ -30,6 +30,7 @@ import com.yeejoin.amos.supervision.business.vo.CalDateVo; ...@@ -30,6 +30,7 @@ import com.yeejoin.amos.supervision.business.vo.CalDateVo;
import com.yeejoin.amos.supervision.business.vo.CodeOrderVo; import com.yeejoin.amos.supervision.business.vo.CodeOrderVo;
import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo; import com.yeejoin.amos.supervision.business.vo.LeavePlanTaskVo;
import com.yeejoin.amos.supervision.business.vo.PlanTaskVo; import com.yeejoin.amos.supervision.business.vo.PlanTaskVo;
import com.yeejoin.amos.supervision.common.enums.PlanTaskDetailIsFinishEnum;
import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum; import com.yeejoin.amos.supervision.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable; import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone; import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone;
...@@ -608,8 +609,23 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -608,8 +609,23 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
} }
@Override @Override
public List getPlanTaskPoints(Long planTaskId) { public Page<Map<String, Object>> getPlanTaskPoints(HashMap<String, Object> params, CommonPageable pageable) {
return planTaskMapper.getPlanTaskPoints(planTaskId); List<Map<String, Object>> content = Lists.newArrayList();
long total = planTaskMapper.getPlanTaskPointsCount(params);
if (total == 0) {
return new PageImpl<>(content, pageable, total);
}
params.put("offset", pageable.getOffset());
params.put("pageSize", pageable.getPageSize());
List<Map<String, Object>> result = planTaskMapper.getPlanTaskPoints(params);
result.forEach(r -> {
if (r.containsKey("finish")) {
String isFinishDesc = PlanTaskDetailIsFinishEnum.getName(Integer.parseInt(r.get("finish").toString()));
r.put("isFinishDesc", isFinishDesc);
}
});
return new PageImpl<>(result, pageable, total);
// return result;
} }
@Override @Override
......
...@@ -1215,8 +1215,8 @@ public class PointServiceImpl implements IPointService { ...@@ -1215,8 +1215,8 @@ public class PointServiceImpl implements IPointService {
} }
@Override @Override
public List<Map<String, Object>> queryItemDetailByPointId(Long id) { public List<Map<String, Object>> queryItemDetailByPointId(Long id, Long routeId) {
List<Map<String, Object>> list = pointMapper.queryItemsByPointId(id); List<Map<String, Object>> list = pointMapper.queryItemsByPointId(id, routeId);
if (0 < list.size()) { if (0 < list.size()) {
for (Map<String, Object> map : list) { for (Map<String, Object> map : list) {
if (map.containsKey("picJson") && !ObjectUtils.isEmpty(map.get("picJson"))) { if (map.containsKey("picJson") && !ObjectUtils.isEmpty(map.get("picJson"))) {
...@@ -1227,4 +1227,9 @@ public class PointServiceImpl implements IPointService { ...@@ -1227,4 +1227,9 @@ public class PointServiceImpl implements IPointService {
return list; return list;
} }
@Override
public List<Map<String, Object>> getPlanExecuteTeams() {
return pointMapper.getPlanExecuteTeams();
}
} }
...@@ -267,7 +267,7 @@ public interface ICheckService { ...@@ -267,7 +267,7 @@ public interface ICheckService {
Page<HashMap<String, Object>> getPlanExecuteInfo(HashMap<String, Object> map, CommonPageable page); Page<HashMap<String, Object>> getPlanExecuteInfo(HashMap<String, Object> map, CommonPageable page);
List<Map<String, String>> getPlanExecuteStates(); List<Map<String, Object>> getPlanExecuteStates();
List<Map<String, Object>> getPlanExecuteTeams(); List<Map<String, Object>> getPlanExecuteTeams();
......
...@@ -91,10 +91,10 @@ public interface IPlanTaskService { ...@@ -91,10 +91,10 @@ public interface IPlanTaskService {
/** /**
* 根据计划ID获取所有的 任务计划巡检点 * 根据计划ID获取所有的 任务计划巡检点
* @param planTaskId * @param params
* @return * @return
*/ */
List getPlanTaskPoints(Long planTaskId); Page<Map<String, Object>> getPlanTaskPoints(HashMap<String, Object> params, CommonPageable pageable);
/** /**
* 获取用户当前所有有的计划任务 * 获取用户当前所有有的计划任务
......
...@@ -327,6 +327,8 @@ public interface IPointService { ...@@ -327,6 +327,8 @@ public interface IPointService {
*/ */
void delPointByPointNo(Long id); void delPointByPointNo(Long id);
List<Map<String, Object>> queryItemDetailByPointId(Long id); List<Map<String, Object>> queryItemDetailByPointId(Long id, Long routeId);
List<Map<String, Object>> getPlanExecuteTeams();
} }
package com.yeejoin.amos.supervision.core.framework;
import java.lang.annotation.*;
/**
* @author DELL
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface PersonIdentify {
/**
* 是否进行人员校验
* @return
*/
boolean isNeedIdentity() default true;
}
package com.yeejoin.amos.supervision.core.framework;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.supervision.business.feign.JCSFeignClient;
import com.yeejoin.amos.supervision.exception.PermissionException;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.ResponseBody;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import java.util.List;
import java.util.Map;
/**
* @author DELL
*/
@Aspect
@Component
@ResponseBody
@Order(value = 1)
public class PersonIdentifyAspect {
@Autowired
RedisUtils redisUtils;
@Autowired
JCSFeignClient jcsFeignClient;
final int HTTP_OK_STATUS = 200;
@Before(value = "@annotation(com.yeejoin.amos.supervision.core.framework.PersonIdentify) && @annotation(permission)")
public void personIdentity(JoinPoint joinPoint, PersonIdentify permission) throws PermissionException {
ReginParams reginParam = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (permission.isNeedIdentity() && reginParam != null) {
//调用jcs,进行人员身份判断,是维保公司人员还是业主单位人员
String userId = reginParam.getUserModel().getUserId();
FeignClientResult responseModel = jcsFeignClient.getUserUnit(userId);
if (ObjectUtils.isEmpty(responseModel.getResult()) || responseModel.getStatus() != HTTP_OK_STATUS) {
throw new RuntimeException(responseModel.getDevMessage());
}
List result = (List)responseModel.getResult();
ReginParams.PersonIdentity personIdentity = new ReginParams.PersonIdentity();
if (!ObjectUtils.isEmpty(result)) {
Map map = (Map)result.get(0);
Map other = (Map)map.get("other");
Map person = (Map)map.get("PERSON");
if (!ObjectUtils.isEmpty(person)) {
personIdentity.setPersonSeq((String) person.get("sequenceNbr"));
personIdentity.setPersonName((String) person.get("recUserName"));
}
if (!ObjectUtils.isEmpty(other)) {
personIdentity.setCompanyId((String) other.get("sequenceNbr"));
personIdentity.setCompanyName((String) other.get("bizOrgName"));
}
// ReginParams.PersonIdentity personIdentity = (ReginParams.PersonIdentity) Bean.mapToBean((Map<String, Object>) result.get(0), ReginParams.PersonIdentity.class);
reginParam.setPersonIdentity(personIdentity);
redisUtils.set(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken()), JSONObject.toJSONString(reginParam));
} else {
throw new RuntimeException("人员未绑定!");
}
}
}
}
package com.yeejoin.amos; package com.yeejoin.amos;
import com.yeejoin.amos.boot.biz.common.utils.oConvertUtils; import java.net.InetAddress;
import java.net.UnknownHostException;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -14,16 +16,17 @@ import org.springframework.cloud.openfeign.EnableFeignClients; ...@@ -14,16 +16,17 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler; import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
import java.net.InetAddress; import com.yeejoin.amos.boot.biz.common.utils.oConvertUtils;
import java.net.UnknownHostException;
/** /**
* <pre> * <pre>
* 机场服务启动类 * 机场服务启动类
* </pre> * </pre>
* *
*/ */
...@@ -35,28 +38,48 @@ import java.net.UnknownHostException; ...@@ -35,28 +38,48 @@ import java.net.UnknownHostException;
@EnableFeignClients @EnableFeignClients
@EnableAsync @EnableAsync
@EnableEurekaClient @EnableEurekaClient
@MapperScan({"org.typroject.tyboot.demo.face.orm.dao*", @MapperScan({ "org.typroject.tyboot.demo.face.orm.dao*", "org.typroject.tyboot.face.*.orm.dao*",
"org.typroject.tyboot.face.*.orm.dao*", "org.typroject.tyboot.core.auth.face.orm.dao*", "org.typroject.tyboot.component.*.face.orm.dao*",
"org.typroject.tyboot.core.auth.face.orm.dao*", "com.yeejoin.amos.boot.module.*.api.mapper", "com.yeejoin.amos.boot.biz.common.dao.mapper" })
"org.typroject.tyboot.component.*.face.orm.dao*",
"com.yeejoin.amos.boot.module.*.api.mapper",
"com.yeejoin.amos.boot.biz.common.dao.mapper" })
@ComponentScan(basePackages = { "org.typroject", "com.yeejoin.amos" }) @ComponentScan(basePackages = { "org.typroject", "com.yeejoin.amos" })
public class AmosJcsApplication public class AmosJcsApplication {
{ private static final Logger logger = LoggerFactory.getLogger(AmosJcsApplication.class);
private static final Logger logger = LoggerFactory.getLogger(AmosJcsApplication.class);
public static void main(String[] args) throws UnknownHostException {
public static void main( String[] args ) throws UnknownHostException ConfigurableApplicationContext context = SpringApplication.run(AmosJcsApplication.class, args);
{ Environment env = context.getEnvironment();
ConfigurableApplicationContext context = SpringApplication.run(AmosJcsApplication.class, args); delKey(env, context);// 添加全部清空redis缓存的方法 2021-09-09
Environment env = context.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress();
String ip = InetAddress.getLocalHost().getHostAddress(); String port = env.getProperty("server.port");
String port = env.getProperty("server.port"); String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path")); GlobalExceptionHandler.setAlwaysOk(true);
GlobalExceptionHandler.setAlwaysOk(true); logger.info("\n----------------------------------------------------------\n\t"
logger.info("\n----------------------------------------------------------\n\t" + + "Application Amos-Biz-Boot is running! Access URLs:\n\t" + "Swagger文档: \thttp://" + ip + ":" + port
"Application Amos-Biz-Boot is running! Access URLs:\n\t" + + path + "/doc.html\n" + "----------------------------------------------------------");
"Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" + }
"----------------------------------------------------------");
} /**
* 清空redis缓存数据
*
* @author 陈浩
* @param env
* @param context
*/
public static void delKey(Environment env, ConfigurableApplicationContext context) {
if (Boolean.parseBoolean(env.getProperty("my.spring.redis.cache.isclean"))) {
@SuppressWarnings("rawtypes")
RedisTemplate redisTemplate = context.getBean("redisTemplate", RedisTemplate.class);
RedisConnection redisConnection = null;
try {
redisConnection = redisTemplate.getConnectionFactory().getConnection();
redisConnection.flushAll();
} catch (Exception e) {
logger.info("删除redis 缓存的key 失败");
} finally {
redisConnection.close();
}
}
}
} }
spring.application.name=JCS spring.application.name=JCS-chenhao
server.servlet.context-path=/jcs server.servlet.context-path=/jcs
server.port=11100 server.port=11100
spring.profiles.active=dev spring.profiles.active=dev
...@@ -7,10 +7,10 @@ spring.jackson.time-zone=GMT+8 ...@@ -7,10 +7,10 @@ spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
logging.config=classpath:logback-${spring.profiles.active}.xml logging.config=classpath:logback-${spring.profiles.active}.xml
## mybatis-plus配置控制台打印完整带参数SQL语句 ## mybatis-plus配置控制台打印完整带参数SQL语句
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
## redis失效时间 ## redis失效时间
redis.cache.failure.time=10800 redis.cache.failure.time=10800
## unit(h) ## unit(h)
...@@ -50,14 +50,15 @@ spring.redis.lettuce.pool.max-wait=-1 ...@@ -50,14 +50,15 @@ spring.redis.lettuce.pool.max-wait=-1
spring.redis.lettuce.pool.max-idle=10 spring.redis.lettuce.pool.max-idle=10
spring.redis.lettuce.pool.min-idle=0 spring.redis.lettuce.pool.min-idle=0
spring.redis.expire.time=300 spring.redis.expire.time=300
#在重启服务的过程中是否清空缓存的标识符 --2021-09-09
## mqtt-警情初报消息主题 my.spring.redis.cache.isclean=false
## mqtt-警情初报消息主题
mqtt.topic.alert.reporting=alertReporting mqtt.topic.alert.reporting=alertReporting
## 实战指挥新警情�?�报主题 ## 实战指挥新警情�?�报主题
mqtt.topic.command.alert.notice=alertNotice mqtt.topic.command.alert.notice=alertNotice
## 跑马灯地震,天气预警信息 ## 跑马灯地震,天气预警信息
mqtt.topic.command.meteorological.notice=meteorological mqtt.topic.command.meteorological.notice=meteorological
mqtt.topic.command.power.deployment=power mqtt.topic.command.power.deployment=power
...@@ -71,8 +72,8 @@ iot.fegin.name=AMOS-API-IOT ...@@ -71,8 +72,8 @@ iot.fegin.name=AMOS-API-IOT
equip.fegin.name=AMOS-EQUIPMANAGE equip.fegin.name=AMOS-EQUIPMANAGE
## 设备联动服务(车库门、广播、警铃) ## 设备联动服务(车库门、广播、警铃)
control.fegin.name=JCS-API-CONTROL control.fegin.name=JCS-API-CONTROL
## 故障报修流程 ## 故障报修流程
failure.work.flow.processDefinitionKey=malfunction_repair failure.work.flow.processDefinitionKey=malfunction_repair
\ No newline at end of file
...@@ -279,4 +279,37 @@ ...@@ -279,4 +279,37 @@
INSERT INTO cb_data_dictionary (`sequence_nbr`, `code`, `name`, `type`, `type_desc`, `parent`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `sort_num`) VALUES ('1171', '1171', '不可用', 'SYZT', NULL, NULL, NULL, NULL, NULL, '\0', '1'); INSERT INTO cb_data_dictionary (`sequence_nbr`, `code`, `name`, `type`, `type_desc`, `parent`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `sort_num`) VALUES ('1171', '1171', '不可用', 'SYZT', NULL, NULL, NULL, NULL, NULL, '\0', '1');
</sql> </sql>
</changeSet> </changeSet>
<changeSet author="tb" id="2021-09-08-tb-1">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="jc_transfer_resource_feedback"/>
</not>
</preConditions>
<comment>create table jc_transfer_resource_feedback</comment>
<sql>
CREATE TABLE `jc_transfer_resource_feedback` (
`sequence_nbr` bigint(30) NOT NULL COMMENT '主键',
`transfer_company_resource_id` bigint(30) NOT NULL COMMENT '调派任务id',
`status` varchar(255) NOT NULL COMMENT '反馈调派任务状态(执行中:executing,已完成:finished)',
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`rec_user_id` bigint(30) NOT NULL COMMENT '更新人id',
`rec_user_name` varchar(50) NOT NULL COMMENT '更新人名称',
`rec_date` datetime NOT NULL COMMENT '更新时间',
`is_delete` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除(1:删除,0:未删除)',
PRIMARY KEY (`sequence_nbr`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='警情调派任务反馈';
</sql>
</changeSet>
<changeSet author="tb" id="2021-09-08-tb-2">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="jc_power_transfer_company_resources" columnName="status"/>
</not>
</preConditions>
<comment>modify table jc_power_transfer_company_resources add status column</comment>
<sql>
ALTER TABLE `jc_power_transfer_company_resources` ADD status varchar(20) DEFAULT 'executing' COMMENT
'调派任务状态(执行中:executing,已完成:finished)';
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
...@@ -19,7 +19,7 @@ spring.datasource.testWhileIdle = true ...@@ -19,7 +19,7 @@ spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1 spring.datasource.validationQuery = SELECT 1
#DB properties: #DB properties:
spring.jpa.show-sql = true spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = none spring.jpa.hibernate.ddl-auto = none
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.database-platform = org.hibernate.dialect.MySQLDialect spring.jpa.database-platform = org.hibernate.dialect.MySQLDialect
mybatis.mapper-locations = classpath:db/mapper/*.xml mybatis.mapper-locations = classpath:db/mapper/*.xml
...@@ -35,7 +35,7 @@ equip.fegin.name=AMOS-EQUIPMANAGE ...@@ -35,7 +35,7 @@ equip.fegin.name=AMOS-EQUIPMANAGE
equip.fegin.prefix=/equip equip.fegin.prefix=/equip
input.custom.prefix = QYZD input.custom.prefix = QYZD
input.statute.prefix = FG input.statute.prefix = FG
jcs.fegin.name=JCS
Security.fegin.name=AMOS-API-PRIVILEGE Security.fegin.name=AMOS-API-PRIVILEGE
......
...@@ -1898,54 +1898,69 @@ ...@@ -1898,54 +1898,69 @@
SELECT SELECT
count(1) count(1)
FROM FROM
p_check pc, p_check_input pci, p_plan_task_detail pptd p_input_item pii
LEFT JOIN p_point_inputitem ppi ON pii.id = ppi.input_item_id
LEFT JOIN p_route_point_item prpi ON prpi.point_input_item_id = ppi.id
LEFT JOIN p_route_point prp ON prp.id = prpi.route_point_id AND prp.point_id = ppi.point_id
LEFT JOIN p_check_input pci ON pci.route_point_item_id = prpi.id
LEFT JOIN p_point pp ON ppi.point_id =pp.id
WHERE WHERE
pc.id = pci.check_id prp.route_id = #{routeId}
AND pc.plan_task_detail_id = pptd.id <if test="pointId != null and pointId != '' and pointId != -1">
AND pc.plan_id = #{planId} AND ppi.point_id = #{pointId}
<if test="pointId != null and pointId != ''"> </if>
AND pc.point_id = #{pointId} <choose>
</if> <when test="status != null and status != '' and status==0">
<if test="executeState != null and executeState != ''"> AND pci.id IS NULL
AND pptd.is_finish = #{executeState} </when>
</if> <when test="status != null and status != '' and status==1">
<!-- <if test="status != null and status != ''">--> AND pci.id IS NOT NULL
<!-- AND pc.point_id = #{status}--> </when>
<!-- </if>--> </choose>
<if test="teamId != null and teamId != ''"> <if test="teamId != null and teamId != ''">
AND pc.company_id = #{teamId} AND pp.original_id = #{teamId}
</if> </if>
</select> </select>
<select id="getCheckItems" resultType="Map"> <select id="getCheckItems" resultType="Map">
SELECT SELECT
pc.id checkId, ppi.id inputItemId,
pci.id checkInputId, pii.name itemName,
pci.input_name itemName, pci.id IS NOT NULL finishStatus,
pptd.is_finish finishStatus,
pci.safety_danger_num safetyNum, pci.safety_danger_num safetyNum,
pci.major_danger_num majorNum, pci.major_danger_num majorNum,
DATE_FORMAT(pc.check_time,'%Y-%m-%d %H:%i:%s') checkTime, DATE_FORMAT(pci.create_date,'%Y-%m-%d %H:%i:%s') checkTime,
pc.user_name executeName, pp.name companyName,
pc.company_name companyName pci.user_name executeName
FROM FROM
p_check pc, p_check_input pci, p_plan_task_detail pptd p_input_item pii
LEFT JOIN p_point_inputitem ppi ON pii.id = ppi.input_item_id
LEFT JOIN p_route_point_item prpi ON prpi.point_input_item_id = ppi.id
LEFT JOIN p_route_point prp ON prp.id = prpi.route_point_id AND prp.point_id = ppi.point_id
LEFT JOIN p_check_input pci ON pci.route_point_item_id = prpi.id
LEFT JOIN p_point pp ON ppi.point_id =pp.id
WHERE WHERE
pc.id = pci.check_id prp.route_id = #{routeId}
AND pc.plan_task_detail_id = pptd.id
AND pc.plan_id = #{planId}
<if test="pointId != null and pointId != '' and pointId != -1"> <if test="pointId != null and pointId != '' and pointId != -1">
AND pc.point_id = #{pointId} AND ppi.point_id = #{pointId}
</if> </if>
<if test="status != null and status != ''"> <choose>
AND pptd.is_finish = #{status} <when test="status != null and status != '' and status==0">
AND pci.id IS NULL
</when>
<when test="status != null and status != '' and status==1">
AND pci.id IS NOT NULL
</when>
</choose>
<if test="teamId != null and teamId != ''">
AND pp.original_id = #{teamId}
</if> </if>
<!-- <if test="status != null and status != ''">--> <!-- <if test="status != null and status != ''">-->
<!-- AND pc.point_id = #{status}--> <!-- AND pc.point_id = #{status}-->
<!-- </if>--> <!-- </if>-->
<if test="companyName != null and companyName != ''"> <!-- <if test="companyName != null and companyName != ''">-->
AND pc.company_name = #{company_name} <!-- AND pc.company_name = #{company_name}-->
</if> <!-- </if>-->
limit #{offset},#{pageSize} limit #{offset},#{pageSize}
</select> </select>
......
...@@ -179,6 +179,7 @@ ...@@ -179,6 +179,7 @@
pt.org_code orgCode, pt.org_code orgCode,
p.name taskName, p.name taskName,
p.check_type_name checkTypeName, p.check_type_name checkTypeName,
P.check_type_id checkTypeId,
pt.status, pt.status,
pt.user_id userId, pt.user_id userId,
date_format( date_format(
...@@ -201,14 +202,11 @@ ...@@ -201,14 +202,11 @@
pt.route_id, pt.route_id,
pt.user_name userName, pt.user_name userName,
r.owner_id, r.owner_id,
R.owner_name as ownerName, r.owner_name as ownerName
ptd.item_num AS itemNum,
ptd.executor_id AS executorId
FROM FROM
p_plan_task pt p_plan_task pt
INNER JOIN p_plan p ON pt.plan_id = p.id INNER JOIN p_plan p ON pt.plan_id = p.id
INNER JOIN p_route r on r.id = pt.route_id INNER JOIN p_route r on r.id = pt.route_id
INNER JOIN p_plan_task_detail ptd ON ptd.task_no = pt.id
) a ) a
<include refid="mobile-plan-task-where" /> <include refid="mobile-plan-task-where" />
limit #{offset},#{pageSize} limit #{offset},#{pageSize}
...@@ -217,8 +215,8 @@ ...@@ -217,8 +215,8 @@
<where> <where>
<if test="userId != null and userId > 0 "> and find_in_set(#{userId},a.userId)>0</if> <if test="userId != null and userId > 0 "> and find_in_set(#{userId},a.userId)>0</if>
<if test="executorId != null and executorId > 0 "> and find_in_set(#{executorId},a.executorId)>0</if> <if test="executorId != null and executorId > 0 "> and find_in_set(#{executorId},a.executorId)>0</if>
<if test="companyId != null"> and a.owner_id = #{companyId}</if> <if test="companyId != null"> and find_in_set(#{companyId},a.owner_id)>0</if>
<if test="taskType != null"> and a.checkTypeName = #{taskType}</if> <if test="taskType != null"> and a.checkTypeId = #{taskType}</if>
<if test="finishStatus != null"> and a.finishStatus = #{finishStatus}</if> <if test="finishStatus != null"> and a.finishStatus = #{finishStatus}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> <if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
AND ( AND (
...@@ -265,13 +263,13 @@ ...@@ -265,13 +263,13 @@
pt.org_code as orgCode, pt.org_code as orgCode,
pt.begin_time as beginTime, pt.begin_time as beginTime,
pt.end_time as endTime, pt.end_time as endTime,
pt.point_num as taskPlanNum,
r.owner_id, r.owner_id,
ptd.item_num AS itemNum P.check_type_id checkTypeId
FROM FROM
p_plan_task pt p_plan_task pt
INNER JOIN p_plan p ON pt.plan_id = p.id INNER JOIN p_plan p ON pt.plan_id = p.id
INNER JOIN p_route r on r.id = pt.route_id INNER JOIN p_route r on r.id = pt.route_id
INNER JOIN p_plan_task_detail ptd ON ptd.task_no = pt.id
) a ) a
<include refid="mobile-plan-task-where" /> <include refid="mobile-plan-task-where" />
</select> </select>
...@@ -365,17 +363,66 @@ ...@@ -365,17 +363,66 @@
p.is_fixed isFixed, p.is_fixed isFixed,
pt.route_id routeId, pt.route_id routeId,
c.id checkId, c.id checkId,
prp.order_no orderNo prp.order_no orderNo,
ptd.item_num itemNum,
ptd.executed_num executedNum,
ptd.safety_danger_num safetyDangerNum,
ptd.major_danger_num majorDangerNum,
ptd.executor_date beginTime,
ptd.item_num taskPlanNum
FROM FROM
p_plan_task_detail ptd p_plan_task_detail ptd
LEFT JOIN p_plan_task pt ON pt.id = ptd.task_no LEFT JOIN p_plan_task pt ON pt.id = ptd.task_no
LEFT JOIN p_point 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_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 LEFT JOIN p_route_point prp ON prp.point_id = ptd.point_id AND prp.route_id = pt.route_id
LEFT JOIN p_plan ppn ON ppn.id = pt.plan_id
WHERE WHERE
p.is_delete = 0 p.is_delete = 0
<if test="planTaskId != null and planTaskId > 0 ">and pt.id = #{planTaskId}</if> <if test="userId != null and userId > 0 "> and find_in_set(#{userId},pt.user_id)>0</if>
ORDER BY orderNo <if test="executorId != null and executorId > 0 "> and find_in_set(#{executorId},ptd.executor_id)>0</if>
<if test="finishStatus != null and finishStatus!=''"> and ptd.is_finish = #{finishStatus}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
AND (
(
ptd.executor_date <![CDATA[>=]]> #{startTime}
AND ptd.executor_date <![CDATA[<=]]> #{endTime}
)
)
</if>
<if test="companyId != null and companyId != ''"> and ppn.original_id = #{companyId}</if>
<if test="taskType != null and taskType != ''"> and ppn.check_type_id = #{taskType}</if>
<if test="planTaskId != null and planTaskId > 0 "> and ptd.task_no = #{planTaskId}</if>
<if test="orderBy != null and orderBy != ''"> order by ${orderBy} </if>
limit #{offset},#{pageSize}
</select>
<select id="getPlanTaskPointsCount" resultType="long">
SELECT
count(1)
FROM
p_plan_task_detail ptd
LEFT JOIN p_plan_task pt ON pt.id = ptd.task_no
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
LEFT JOIN p_plan ppn ON ppn.id = pt.plan_id
WHERE
p.is_delete = 0
<if test="userId != null and userId > 0 "> and find_in_set(#{userId},pt.user_id)>0</if>
<if test="executorId != null and executorId > 0 "> and find_in_set(#{executorId},ptd.executor_id)>0</if>
<if test="finishStatus != null and finishStatus!=''"> and ptd.is_finish = #{finishStatus}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
AND (
(
ptd.executor_date <![CDATA[>=]]> #{startTime}
AND ptd.executor_date <![CDATA[<=]]> #{endTime}
)
)
</if>
<if test="companyId != null and companyId != ''"> and ppn.original_id = #{companyId}</if>
<if test="taskType != null and taskType != ''"> and ppn.check_type_id = #{taskType}</if>
<if test="planTaskId != null and planTaskId > 0 "> and ptd.task_no = #{planTaskId}</if>
</select> </select>
<select id="getCurrentPlanTaskCount" resultType="int" parameterType="long"> <select id="getCurrentPlanTaskCount" resultType="int" parameterType="long">
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskDetailMapper"> <mapper namespace="com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskDetailMapper">
<update id="finishTaskDetail"> <update id="finishTaskDetail">
call updatePlanTask(#{planTaskId}, #{pointId}, #{planTaskDetailId} ,#{executorId},#{executorName}) call updatePlanTask(#{planTaskId}, #{pointId}, #{planTaskDetailId} ,#{executorId},#{executorName},#{size})
</update> </update>
<select id="findPlanTaskByTaskIdAndPointId" resultType="Map"> <select id="findPlanTaskByTaskIdAndPointId" resultType="Map">
......
...@@ -1150,6 +1150,7 @@ ...@@ -1150,6 +1150,7 @@
pii.data_json dataJson, pii.data_json dataJson,
pii.remark remark, pii.remark remark,
pii.picture_json picJson, pii.picture_json picJson,
prpi.id routePointItemId,
CASE pii.`input_type` CASE pii.`input_type`
WHEN 0 THEN WHEN 0 THEN
'手动录入' '手动录入'
...@@ -1159,8 +1160,20 @@ ...@@ -1159,8 +1160,20 @@
FROM FROM
p_point_inputitem ppi p_point_inputitem ppi
LEFT JOIN p_input_item pii ON pii.id = ppi.input_item_id LEFT JOIN p_input_item pii ON pii.id = ppi.input_item_id
LEFT JOIN p_route_point pp ON pp.route_id = #{routeId} AND pp.point_id = ppi.point_id
LEFT JOIN p_route_point_item prpi ON prpi.route_point_id = pp.id AND prpi.point_input_item_id = ppi.id
LEFT JOIN p_check_input pci ON pci.route_point_item_id = prpi.id
WHERE WHERE
ppi.point_id = #{pointId} AND pii.is_delete = 0 ppi.point_id = #{pointId} AND pii.is_delete = 0 AND pci.route_point_item_id is NULL
ORDER BY pii.order_no ORDER BY pii.order_no
</select> </select>
<select id="getPlanExecuteTeams" resultType="map">
SELECT
original_id id,
`name`
FROM
p_point
</select>
</mapper> </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