Commit d4d70fa8 authored by suhuiguang's avatar suhuiguang

1.维保增加设备列表详情:

草稿及流程中时显示设备的最新信息 流程为已完成时,设备详情信息不再变更,显示最后一刻数据。
parent 0a80d42b
......@@ -160,7 +160,7 @@ public class JgMaintenanceContractVo {
@ApiModelProperty("设备类别")
private String equCategory;
private List<Map<String, Object>> equipmentLists;
private List<? extends Map<?,?>> equipmentLists;
/**
* 工作流下一节点任务id
......
package com.yeejoin.amos.boot.module.jg.biz.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -113,13 +114,20 @@ public interface ICommonService {
* @param equipId 设备唯一标识
* @param currentDocumentId 业务id
*/
void saveOrUpdateHistory(String registrationClass, JSONObject map, String equipId, String currentDocumentId);
void saveOrUpdateHistory(String registrationClass, JSON map, String equipId, String currentDocumentId);
/**
* 查询历史
* 查询历史数据
* @param currentDocumentId 业务id
* @return JSONObject
*/
JSONObject queryHistoryData(Long currentDocumentId);
/**
* 查询历史数据: 通用
* @param currentDocumentId 业务id
* @return Object
*/
Object queryHistoryDataObj(Long currentDocumentId);
}
......@@ -1566,17 +1566,17 @@ public class CommonServiceImpl implements ICommonService {
}
@Override
public void saveOrUpdateHistory(String registrationClass, JSONObject map, String equipId, String currentDocumentId) {
public void saveOrUpdateHistory(String registrationClass, JSON json, String equipId, String currentDocumentId) {
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
lambda.eq(JgRegistrationHistory::getRegistrationClass, registrationClass);
Integer integer = jgRegistrationHistoryService.getBaseMapper().selectCount(lambda);
if (integer > 0) {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistory.setChangeData(JSON.toJSONString(json));
jgRegistrationHistoryService.update(jgRegistrationHistory, lambda);
} else {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistory.setChangeData(JSON.toJSONString(json));
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setRegistrationClass(registrationClass);
jgRegistrationHistory.setEquId(equipId);
......@@ -1585,6 +1585,7 @@ public class CommonServiceImpl implements ICommonService {
}
}
@Override
public JSONObject queryHistoryData(Long currentDocumentId){
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
......@@ -1594,4 +1595,12 @@ public class CommonServiceImpl implements ICommonService {
}
@Override
public Object queryHistoryDataObj(Long currentDocumentId){
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda);
return jgRegistrationHistory != null ? JSON.parse(jgRegistrationHistory.getChangeData()) : null;
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
......@@ -148,13 +149,31 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
BeanUtils.copyProperties(dto, vo);
vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract()));
vo.setOtherAccessories(ObjectUtils.isEmpty(dto.getOtherAccessories()) ? null : JSON.parseArray(dto.getOtherAccessories()));
// 非已完成状态数据显示最新的设备信息
if(!FlowStatusEnum.TO_BE_FINISHED.getName().equals(dto.getStatus())){
List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr);
if (!ObjectUtils.isEmpty(list)) {
vo.setEquipmentLists(list);
}
} else {
// 完成的显示历史表的数据
JSONArray objects = (JSONArray)commonService.queryHistoryDataObj(dto.getSequenceNbr());
// 兼容老数据
if(objects == null){
List<Map<String, Object>> list = maintenanceContractMapper.selectEquipList(sequenceNbr);
if (!ObjectUtils.isEmpty(list)) {
vo.setEquipmentLists(list);
}
} else {
List equList = objects.toJavaList(Map.class);
vo.setEquipmentLists(equList);
}
}
return vo;
}
/**
* 根据sequenceNbr更新数据
*
......@@ -502,6 +521,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
commonService.buildTaskModel(modelDtos);
}
updateById(contract);
// 设备数据存历史数据,在流程完成时使用
commonService.saveOrUpdateHistory(null, JSON.parseArray(JSON.toJSONString(equipmentLists)), null, contract.getSequenceNbr().toString());
return Collections.singletonList(contract);
}
......
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