Browse Source

修改事件确认接口中的操作历史表存储结构

develop
Mr.Wang 11 months ago
parent
commit
f8a33d539b
  1. 21
      zc-business/src/main/java/com/zc/business/domain/EventPlanAssoc.java
  2. 64
      zc-business/src/main/java/com/zc/business/service/impl/DcEmergencyPlansServiceImpl.java
  3. 39
      zc-business/src/main/resources/mapper/business/EventPlanAssocMapper.xml

21
zc-business/src/main/java/com/zc/business/domain/EventPlanAssoc.java

@ -36,16 +36,17 @@ public class EventPlanAssoc {
private Integer emergencyPlansId; private Integer emergencyPlansId;
/** /**
* 执行控制设备 (设备id用逗号隔开) * 控制类型 1执行此操作 2恢复操作
*/ */
@ApiModelProperty("执行控制设备") @ApiModelProperty("控制类型")
private String executingControlDevice; private Integer operationType;
/** /**
* 恢复控制设备 (设备id用逗号隔开) * 控制设备 (设备id用逗号隔开)
*/ */
@ApiModelProperty("恢复控制设备") @ApiModelProperty("控制设备")
private String recoveredControlDevice; private String controlDevice;
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private Date createTime; private Date createTime;
@ -56,11 +57,5 @@ public class EventPlanAssoc {
* 执行操作结果 * 执行操作结果
*/ */
@ApiModelProperty("执行操作结果") @ApiModelProperty("执行操作结果")
private String executingControlResult; private String controlResult;
/**
* 恢复操作结果
*/
@ApiModelProperty("恢复操作结果")
private String recoveredControlResult;
} }

64
zc-business/src/main/java/com/zc/business/service/impl/DcEmergencyPlansServiceImpl.java

@ -9,6 +9,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.zc.business.constant.DeviceFunctionIdConstants; import com.zc.business.constant.DeviceFunctionIdConstants;
import com.zc.business.constant.DeviceTypeConstants; import com.zc.business.constant.DeviceTypeConstants;
import com.zc.business.controller.BroadcastController; import com.zc.business.controller.BroadcastController;
@ -728,29 +729,24 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
JSONObject resultObject = new JSONObject(); JSONObject resultObject = new JSONObject();
// 事件编号 // 事件编号
eventPlanAssoc.setEventId(id); eventPlanAssoc.setEventId(id);
eventPlanAssoc.setOperationType(dcEventAnDcEmergencyPlans.getOperationType());
EventPlanAssoc selectEventPlanAssoc = eventPlanAssocMapper.selectByEventId(eventPlanAssoc); EventPlanAssoc selectEventPlanAssoc = eventPlanAssocMapper.selectByEventId(eventPlanAssoc);
// 区分是执行操作 还是 恢复操作
if (dcEventAnDcEmergencyPlans.getOperationType().equals(1) && selectEventPlanAssoc == null) { if (selectEventPlanAssoc == null) {
// 首次执行操作 // 执行新增
eventPlanAssoc.setEmergencyPlansId(dcEmergencyPlans.getId()); eventPlanAssoc.setEmergencyPlansId(dcEmergencyPlans.getId());
eventPlanAssoc.setExecutingControlDevice(deviceIds.toString().replaceFirst(";", "")); eventPlanAssoc.setControlDevice(deviceIds.toString().replaceFirst(";", ""));
eventPlanAssoc.setExecutingControlResult(resultArray.toJSONString()); eventPlanAssoc.setControlResult(resultArray.toJSONString());
eventPlanAssoc.setCreateTime(DateUtils.getNowDate()); eventPlanAssoc.setCreateTime(DateUtils.getNowDate());
int eventPlanAssocId = eventPlanAssocMapper.insertEventPlanAssoc(eventPlanAssoc); // IdUtils.fastSimpleUUID()
resultObject.put("eventPlanAssocId",eventPlanAssocId); eventPlanAssoc.setId(IdUtils.fastSimpleUUID());
} eventPlanAssocMapper.insertEventPlanAssoc(eventPlanAssoc);
else if (StringUtils.isNotEmpty(selectEventPlanAssoc.getId()) && dcEventAnDcEmergencyPlans.getOperationType().equals(1)) { resultObject.put("eventPlanAssocId",eventPlanAssoc.getId());
// 多次执行操作 }else {
selectEventPlanAssoc.setExecutingControlResult(resultArray.toJSONString()); // 执行修改操作
selectEventPlanAssoc.setUpdateTime(DateUtils.getNowDate());
eventPlanAssocMapper.updateEventPlanAssoc(selectEventPlanAssoc);
resultObject.put("eventPlanAssocId",selectEventPlanAssoc.getId());
}
else {
// 恢复操作 未执行的事件不能进行恢复操作
selectEventPlanAssoc.setUpdateTime(DateUtils.getNowDate()); selectEventPlanAssoc.setUpdateTime(DateUtils.getNowDate());
selectEventPlanAssoc.setRecoveredControlDevice(deviceIds.toString().replaceFirst(";", "")); selectEventPlanAssoc.setControlDevice(deviceIds.toString().replaceFirst(";", ""));
selectEventPlanAssoc.setRecoveredControlResult(resultArray.toJSONString()); selectEventPlanAssoc.setControlResult(resultArray.toJSONString());
eventPlanAssocMapper.updateEventPlanAssoc(selectEventPlanAssoc); eventPlanAssocMapper.updateEventPlanAssoc(selectEventPlanAssoc);
resultObject.put("eventPlanAssocId",selectEventPlanAssoc.getId()); resultObject.put("eventPlanAssocId",selectEventPlanAssoc.getId());
} }
@ -783,18 +779,24 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
props.put("onWorkStatus", otherConfig.get("state").toString()); props.put("onWorkStatus", otherConfig.get("state").toString());
props.put("inWorkStatus", otherConfig.get("state").toString()); props.put("inWorkStatus", otherConfig.get("state").toString());
props.put("mode", controlModel); props.put("mode", controlModel);
JSONObject result = new JSONObject();
if (controlModel.equals("01")) { if (controlModel.equals("01")) {
String startTime = otherConfig.get("startTime").toString(); String startTime = otherConfig.get("startTime").toString();
String endTime = otherConfig.get("endTime").toString(); String endTime = otherConfig.get("endTime").toString();
props.put("mode", "01"); props.put("mode", "01");
props.put("startDisplayTime", startTime); props.put("startDisplayTime", startTime);
props.put("endDisplayTime", endTime); props.put("endDisplayTime", endTime);
result.put("content","时间自动");
} else if (controlModel.equals("00")) {
result.put("content","手动");
}else {
result.put("content","万年历");
} }
AjaxResult ajaxResult = dcDeviceController.invokedFunction(iotDeviceId, functionId, props); AjaxResult ajaxResult = dcDeviceController.invokedFunction(iotDeviceId, functionId, props);
// 将调用结果存入到 resultArray(操作结果) 中 // 将调用结果存入到 resultArray(操作结果) 中
JSONObject result = new JSONObject();
result.put("device", device.getId()); result.put("device", device.getId());
result.put("deviceName",device.getDeviceName());
result.put("result", ajaxResult); result.put("result", ajaxResult);
resultArray.add(result); resultArray.add(result);
@ -831,12 +833,12 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
// 还原上次 // 还原上次
props.put("fileId", "10"); props.put("fileId", "10");
functionId = DeviceFunctionIdConstants.VARIABLE_INFORMATION_FLAG_1B; functionId = DeviceFunctionIdConstants.VARIABLE_INFORMATION_FLAG_1B;
AjaxResult ajaxResult1B;
ajaxResult1B = dcDeviceController.invokedFunction(iotDeviceId, functionId, props);
AjaxResult ajaxResult1B = dcDeviceController.invokedFunction(iotDeviceId, functionId, props);
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("device", device.getId()); result.put("device", device.getId());
result.put("deviceName",device.getDeviceName());
result.put("content","还原上次");
result.put("result", ajaxResult1B); result.put("result", ajaxResult1B);
resultArray.add(result); resultArray.add(result);
}else { }else {
@ -866,6 +868,7 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
// 说明没有匹配到设备 // 说明没有匹配到设备
JSONObject errorResult = new JSONObject(); JSONObject errorResult = new JSONObject();
errorResult.put("device",device.getId()); errorResult.put("device",device.getId());
errorResult.put("deviceName",device.getDeviceName());
errorResult.put("errorMessage","未匹配到对应的广播内容"); errorResult.put("errorMessage","未匹配到对应的广播内容");
resultArray.add(errorResult); resultArray.add(errorResult);
} }
@ -882,6 +885,8 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
JSONObject returnResult = broadcastController.nearCamListDistance(params); JSONObject returnResult = broadcastController.nearCamListDistance(params);
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("device", device.getId()); result.put("device", device.getId());
result.put("deviceName",device.getDeviceName());
result.put("content",params.get("text"));
result.put("result", returnResult); result.put("result", returnResult);
resultArray.add(result); resultArray.add(result);
@ -894,6 +899,7 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
AjaxResult ajaxResultState = dcDeviceController.invokedFunction(iotDeviceId, functionId, new HashMap<>()); AjaxResult ajaxResultState = dcDeviceController.invokedFunction(iotDeviceId, functionId, new HashMap<>());
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("device", device.getId()); result.put("device", device.getId());
result.put("deviceName",device.getDeviceName());
result.put("result", ajaxResultState); result.put("result", ajaxResultState);
resultArray.add(result); resultArray.add(result);
@ -906,6 +912,8 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
AjaxResult ajaxResult = dcDeviceController.invokedFunction(iotDeviceId, functionId, propsTime); AjaxResult ajaxResult = dcDeviceController.invokedFunction(iotDeviceId, functionId, propsTime);
JSONObject resultTime = new JSONObject(); JSONObject resultTime = new JSONObject();
resultTime.put("device", device.getId()); resultTime.put("device", device.getId());
resultTime.put("deviceName",device.getDeviceName());
resultTime.put("content","操作时长"+otherConfig.get("operationDuration"));
resultTime.put("result", ajaxResult); resultTime.put("result", ajaxResult);
resultArray.add(resultTime); resultArray.add(resultTime);
@ -943,8 +951,7 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
functionId = DeviceFunctionIdConstants.VARIABLE_INFORMATION_FLAG_11; functionId = DeviceFunctionIdConstants.VARIABLE_INFORMATION_FLAG_11;
props.put("fileName", "play011.lst"); props.put("fileName", "play011.lst");
props.put("size", "65535"); props.put("size", "65535");
AjaxResult ajaxResult11; AjaxResult ajaxResult11 = dcDeviceController.invokedFunction(iotDeviceId, functionId, props);
ajaxResult11 = dcDeviceController.invokedFunction(iotDeviceId, functionId, props);
if (ajaxResult11.get("code").equals(200)) { if (ajaxResult11.get("code").equals(200)) {
// 2:执行13功能码 // 2:执行13功能码
HashMap<String, Object> props11 = new HashMap<>(); HashMap<String, Object> props11 = new HashMap<>();
@ -975,8 +982,7 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
parameters.put("formatStyle", dcInfoBoardTemplate.getFormatStyle()); parameters.put("formatStyle", dcInfoBoardTemplate.getFormatStyle());
list.add(parameters); list.add(parameters);
props11.put("parameters", list); props11.put("parameters", list);
AjaxResult ajaxResult13 = null; AjaxResult ajaxResult13 = dcDeviceController.invokedFunction(iotDeviceId, functionId, props11);
ajaxResult13 = dcDeviceController.invokedFunction(iotDeviceId, functionId, props11);
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
if (ajaxResult13.get("code").equals(200)) { if (ajaxResult13.get("code").equals(200)) {
HashMap<String, Object> props1B = new HashMap<>(); HashMap<String, Object> props1B = new HashMap<>();
@ -985,11 +991,15 @@ public class DcEmergencyPlansServiceImpl implements DcEmergencyPlansService {
props1B.put("fileId", "11"); props1B.put("fileId", "11");
AjaxResult ajaxResult1B = dcDeviceController.invokedFunction(iotDeviceId, functionId, props1B); AjaxResult ajaxResult1B = dcDeviceController.invokedFunction(iotDeviceId, functionId, props1B);
result.put("device", device.getId()); result.put("device", device.getId());
result.put("deviceName",device.getDeviceName());
result.put("content",dcInfoBoardTemplate.getContent());
result.put("result", ajaxResult1B); result.put("result", ajaxResult1B);
resultArray.add(result); resultArray.add(result);
} else { } else {
result.put("device", device.getId()); result.put("device", device.getId());
result.put("deviceName",device.getDeviceName());
result.put("content","发布失败");
result.put("result", ajaxResult13); result.put("result", ajaxResult13);
resultArray.add(result); resultArray.add(result);
} }

39
zc-business/src/main/resources/mapper/business/EventPlanAssocMapper.xml

@ -4,39 +4,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zc.business.mapper.EventPlanAssocMapper"> <mapper namespace="com.zc.business.mapper.EventPlanAssocMapper">
<insert id="insertEventPlanAssoc" parameterType="EventPlanAssoc" useGeneratedKeys="true" keyProperty="id"> <insert id="insertEventPlanAssoc" parameterType="EventPlanAssoc">
insert into event_plan_assoc insert into event_plan_assoc
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null and id != ''">id,</if>
<if test="eventId != null and eventId != ''">event_id,</if> <if test="eventId != null and eventId != ''">event_id,</if>
<if test="emergencyPlansId != null">emergency_plans_id,</if> <if test="emergencyPlansId != null">emergency_plans_id,</if>
<if test="executingControlDevice != null and executingControlDevice != ''">executing_control_device,</if> <if test="controlDevice != null and controlDevice != ''">control_device,</if>
<if test="recoveredControlDevice != null and recoveredControlDevice != ''">recovered_control_device,</if> <if test="operationType != null">operation_type,</if>
<if test="createTime != null">create_time,</if> <if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="executingControlResult != null and executingControlResult !=''">executing_control_result,</if> <if test="controlResult != null and controlResult !=''">control_result,</if>
<if test="recoveredControlResult != null and recoveredControlResult !=''">recovered_control_result,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null and id != ''">#{id},</if>
<if test="eventId != null and eventId != ''">#{eventId},</if> <if test="eventId != null and eventId != ''">#{eventId},</if>
<if test="emergencyPlansId != null">#{emergencyPlansId},</if> <if test="emergencyPlansId != null">#{emergencyPlansId},</if>
<if test="executingControlDevice != null and executingControlDevice != ''">#{executingControlDevice},</if> <if test="controlDevice != null and controlDevice != ''">#{controlDevice},</if>
<if test="recoveredControlDevice != null and recoveredControlDevice != ''">#{recoveredControlDevice},</if> <if test="operationType != null">#{operationType},</if>
<if test="createTime != null">#{createTime},</if> <if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="executingControlResult != null and executingControlResult !=''">#{executingControlResult},</if> <if test="controlResult != null and controlResult !=''">#{controlResult},</if>
<if test="recoveredControlResult != null and recoveredControlResult !=''">#{recoveredControlResult}</if>
</trim> </trim>
</insert> </insert>
<sql id="selectEventPlanAssocVo"> <sql id="selectEventPlanAssocVo">
select id,event_id,emergency_plans_id,executing_control_device,recovered_control_device,create_time,update_time, select id,event_id,emergency_plans_id,control_device,create_time,update_time,
executing_control_result,recovered_control_result control_result,operation_type
from event_plan_assoc from event_plan_assoc
</sql> </sql>
<select id="selectByEventId" parameterType="EventPlanAssoc" resultType="EventPlanAssoc"> <select id="selectByEventId" parameterType="EventPlanAssoc" resultType="EventPlanAssoc">
<include refid="selectEventPlanAssocVo"/> <include refid="selectEventPlanAssocVo"/>
where event_id = #{eventId} where event_id = #{eventId} and operation_type = #{operationType}
</select> </select>
<update id="updateEventPlanAssoc" parameterType="EventPlanAssoc"> <update id="updateEventPlanAssoc" parameterType="EventPlanAssoc">
@ -44,18 +44,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="eventId != null and eventId != ''">event_id = #{eventId},</if> <if test="eventId != null and eventId != ''">event_id = #{eventId},</if>
<if test="emergencyPlansId != null">emergency_plans_id = #{emergencyPlansId},</if> <if test="emergencyPlansId != null">emergency_plans_id = #{emergencyPlansId},</if>
<if test="executingControlDevice != null and executingControlDevice != ''"> <if test="controlDevice != null and controlDevice != ''">
executing_control_device = #{executingControlDevice}, control_device = #{controlDevice},
</if> </if>
<if test="recoveredControlDevice != null and recoveredControlDevice != ''"> <if test="operationType != null">
recovered_control_device = #{recoveredControlDevice}, operation_type = #{operationType},
</if> </if>
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="executingControlResult != null and executingControlResult !=''"> <if test="controlResult != null and controlResult !=''">
executing_control_result = #{executingControlResult}, control_result = #{controlResult},
</if>
<if test="recoveredControlResult != null and recoveredControlResult !=''">
recovered_control_result = #{recoveredControlResult},
</if> </if>
</trim> </trim>
where id = #{id} where id = #{id}

Loading…
Cancel
Save