解决温湿度计抄表操作时间不正确问题(增加8小时)

This commit is contained in:
1378012178@qq.com 2025-10-22 11:14:13 +08:00
parent d91ac19910
commit 9bc06163d5
1 changed files with 171 additions and 153 deletions

View File

@ -55,15 +55,16 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
@Lazy
@Autowired
private HumidDeviceServiceImpl syncImpl;
public IPage<HumidDevice> findPage(Page<HumidDevice> page, HumidDevice humidDevice){
return baseMapper.findPage(page,humidDevice);
public IPage<HumidDevice> findPage(Page<HumidDevice> page, HumidDevice humidDevice) {
return baseMapper.findPage(page, humidDevice);
}
/**
* 添加
*/
@Override
public Result<String> insertDevice(HumidDevice humidDevice){
public Result<String> insertDevice(HumidDevice humidDevice) {
Map<String, Object> params = new HashMap<>();
params.put("sn", humidDevice.getSn());
params.put("timeCode", humidDevice.getTimeCode());
@ -71,54 +72,56 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
String responseStr = yiweilianApi.addDevice(params);
JSONObject jsonObject = new JSONObject(responseStr);
Integer responseCode = jsonObject.getInt("code");
if(responseCode.equals(10003)){
if (responseCode.equals(10003)) {
baseMapper.insertDevice(humidDevice);
humidDevice.setOptType("insert");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
if (sysUser != null) {
humidDevice.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(humidDevice);
String error = updateDeviceParameters(humidDevice,"insert");
if(!error.equals("")){
String result = "设备添加成功,但是获取配置参数错误:"+ error;
String error = updateDeviceParameters(humidDevice, "insert");
if (!error.equals("")) {
String result = "设备添加成功,但是获取配置参数错误:" + error;
return Result.error(result);
}
String error2 = updateDeviceRealTime(humidDevice);
if(!error2.equals("")){
String result = "设备添加成功,但是获取实时数据错误:"+ error2;
if (!error2.equals("")) {
String result = "设备添加成功,但是获取实时数据错误:" + error2;
return Result.error(result);
}
return Result.OK("添加成功");
}else{
String result = "添加失败:"+jsonObject.getStr("msg");
} else {
String result = "添加失败:" + jsonObject.getStr("msg");
return Result.error(result);
}
}
/**
* 更新设备配置参数
*
* @param humidDevice
* @return
*/
@Override
public String updateDeviceParameters(HumidDevice humidDevice,String type){
Map<String, Object> params = getParmas(0,100,humidDevice);
return updateDeviceConfigs(params,humidDevice,type);
public String updateDeviceParameters(HumidDevice humidDevice, String type) {
Map<String, Object> params = getParmas(0, 100, humidDevice);
return updateDeviceConfigs(params, humidDevice, type);
}
/**
* 获取接口请求参数
*
* @param page
* @param limit
* @param humidDevice
* @return
*/
private Map<String, Object> getParmas(int page,int limit,HumidDevice humidDevice){
private Map<String, Object> getParmas(int page, int limit, HumidDevice humidDevice) {
Map<String, Object> params = new HashMap<>();
params.put("rows", limit);
params.put("page", page);
if(humidDevice.getSn()!=null&&!humidDevice.getSn().equals("")){
if (humidDevice.getSn() != null && !humidDevice.getSn().equals("")) {
params.put("sn", humidDevice.getSn());
}
return params;
@ -126,24 +129,25 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
/**
* 调用接口更新设备配置参数
*
* @param map
* @param humidDevice
* @return
*/
private String updateDeviceConfigs(Map<String,Object> map,HumidDevice humidDevice,String type){
private String updateDeviceConfigs(Map<String, Object> map, HumidDevice humidDevice, String type) {
String errorMsg = "";
String responseStr = yiweilianApi.getDeviceConfigs(map);
JSONObject jsonObject = new JSONObject(responseStr);
Integer responseCode = jsonObject.getInt("code");
if(responseCode.equals(0)){
if (responseCode.equals(0)) {
JSONObject dataObj = jsonObject.getJSONObject("data");
Integer count = dataObj.getInt("count");
Integer limit = dataObj.getInt("rows");
Integer page = dataObj.getInt("page");
JSONArray dataArr = dataObj.getJSONArray("dataList");
for(int i=0;i<dataArr.size();i++){
for (int i = 0; i < dataArr.size(); i++) {
HumidDevice dh = new HumidDevice();
JSONObject json = (JSONObject)dataArr.get(i);
JSONObject json = (JSONObject) dataArr.get(i);
String sn = json.getStr("sn");
String deviceName = json.getStr("deviceName");
String deviceTypes = json.getStr("deviceTypes");
@ -182,16 +186,16 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
baseMapper.updateDevice(dh);
dh.setOptType(type);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
if (sysUser != null) {
dh.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(dh);
}
if((page+1)*limit<count){
Map<String, Object> params = getParmas(page+1,limit,humidDevice);
errorMsg += updateDeviceConfigs(params,humidDevice,type);
if ((page + 1) * limit < count) {
Map<String, Object> params = getParmas(page + 1, limit, humidDevice);
errorMsg += updateDeviceConfigs(params, humidDevice, type);
}
}else{
} else {
errorMsg = jsonObject.getStr("msg");
}
return errorMsg;
@ -199,26 +203,29 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
/**
* 更新设备实时数据抄表
*
* @param humidDevice
* @return
*/
@Override
public String updateDeviceRealTime(HumidDevice humidDevice){
Map<String, Object> params = getRealTimeParmas(0,50,humidDevice);
return updateDeviceRealTimeData(params,humidDevice);
public String updateDeviceRealTime(HumidDevice humidDevice) {
Map<String, Object> params = getRealTimeParmas(0, 50, humidDevice);
return updateDeviceRealTimeData(params, humidDevice);
}
/**
* 获取实时数据接口请求参数
*
* @param page
* @param limit
* @param humidDevice
* @return
*/
private Map<String, Object> getRealTimeParmas(int page,int limit,HumidDevice humidDevice){
private Map<String, Object> getRealTimeParmas(int page, int limit, HumidDevice humidDevice) {
Map<String, Object> params = new HashMap<>();
params.put("rows", limit);
params.put("page", page);
if(humidDevice.getSn()!=null&&!humidDevice.getSn().equals("")){
if (humidDevice.getSn() != null && !humidDevice.getSn().equals("")) {
String[] str = new String[1];
str[0] = humidDevice.getSn();
params.put("snList", str);
@ -228,25 +235,26 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
/**
* 调用接口更新设备实时数据抄表
*
* @param map
* @param humidDevice
* @return
*/
private String updateDeviceRealTimeData(Map<String,Object> map,HumidDevice humidDevice){
private String updateDeviceRealTimeData(Map<String, Object> map, HumidDevice humidDevice) {
String errorMsg = "";
String responseStr = yiweilianApi.getRealTime(map);
JSONObject jsonObject = new JSONObject(responseStr);
Integer responseCode = jsonObject.getInt("code");
if(responseCode.equals(0)){
if (responseCode.equals(0)) {
JSONObject dataObj = jsonObject.getJSONObject("data");
Integer count = dataObj.getInt("count");
Integer limit = dataObj.getInt("rows");
Integer page = dataObj.getInt("page");
JSONArray dataArr = dataObj.getJSONArray("dataList");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){
if (dataArr.size() > 0) {
for (int i = 0; i < dataArr.size(); i++) {
HumidDevice dh = new HumidDevice();
JSONObject json = (JSONObject)dataArr.get(i);
JSONObject json = (JSONObject) dataArr.get(i);
String sn = json.getStr("sn");
String status = json.getStr("status");
String electricity = json.getStr("electricity");
@ -254,11 +262,16 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
String humidity = json.getStr("humidity");
String reportingTime = json.getStr("date");
dh.setStatus(status);
Date reportingDate = DateUtil.parse(reportingTime,"yyyy-MM-dd HH:mm:ss");
Date reportingDate = DateUtil.parse(reportingTime, "yyyy-MM-dd HH:mm:ss");
//需要增加8小时
reportingDate = DateUtil.offsetHour(reportingDate, 8);
reportingTime = DateUtil.format(reportingDate, "yyyy-MM-dd HH:mm:ss");
Calendar ca = Calendar.getInstance();
ca.add(Calendar.MINUTE,-5);
ca.add(Calendar.MINUTE, -5);
Date currentDate = ca.getTime();
if(reportingDate.getTime()<=currentDate.getTime()){
if (reportingDate.getTime() <= currentDate.getTime()) {
dh.setStatus("1");
}
dh.setSn(sn);
@ -269,14 +282,14 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
baseMapper.updateValue(dh);
dh.setOptType("read");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
if (sysUser != null) {
dh.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(dh);
syncStatusMq(dh);
}
}else{
errorMsg += humidDevice.getSn()+"温湿度设备丢失,请联系管理员";
} else {
errorMsg += humidDevice.getSn() + "温湿度设备丢失,请联系管理员";
HumidDevice dh = new HumidDevice();
dh.setSn(humidDevice.getSn());
dh.setStatus("1");
@ -286,18 +299,18 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
dh.setReportingTime(DateUtil.now());
dh.setOptType("read");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(sysUser!=null){
if (sysUser != null) {
dh.setOptBy(sysUser.getUsername());
}
baseMapper.insertLog(dh);
baseMapper.updateValue(dh);
syncStatusMq(dh);
}
if((page+1)*limit<count){
Map<String, Object> params = getParmas(page+1,limit,humidDevice);
errorMsg += updateDeviceRealTimeData(params,humidDevice);
if ((page + 1) * limit < count) {
Map<String, Object> params = getParmas(page + 1, limit, humidDevice);
errorMsg += updateDeviceRealTimeData(params, humidDevice);
}
}else{
} else {
errorMsg = jsonObject.getStr("msg");
}
return errorMsg;
@ -305,11 +318,12 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
/**
* 同步到业务系统
*
* @param humidDevice
*/
private void syncStatusMq(HumidDevice humidDevice){
private void syncStatusMq(HumidDevice humidDevice) {
HumidDevice entity = baseMapper.getHumidInfo(humidDevice);
if(entity!=null){
if (entity != null) {
IotHumidDeviceMQDto ihd = new IotHumidDeviceMQDto();
BeanUtils.copyProperties(entity, ihd);
String json = JSON.toJSONString(entity);
@ -328,7 +342,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
}
}
private Map<String, Object> getUpdateParmas(HumidDevice humidDevice){
private Map<String, Object> getUpdateParmas(HumidDevice humidDevice) {
Map<String, Object> params = new HashMap<>();
params.put("sn", humidDevice.getSn());
params.put("timeCode", humidDevice.getTimeCode());
@ -353,30 +367,31 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
* 修改
*/
@Override
public Result<String> updateDevice(HumidDevice humidDevice){
public Result<String> updateDevice(HumidDevice humidDevice) {
Map<String, Object> params = getUpdateParmas(humidDevice);
String responseStr = yiweilianApi.updateDeviceConfig(params);
JSONObject jsonObject = new JSONObject(responseStr);
Integer responseCode = jsonObject.getInt("code");
if(responseCode.equals(0)){
if (responseCode.equals(0)) {
baseMapper.updateDevice(humidDevice);
humidDevice.setOptType("update");
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
humidDevice.setOptBy(sysUser.getUsername());
baseMapper.insertLog(humidDevice);
return Result.OK("修改成功");
}else{
String error = "修改失败:"+jsonObject.getStr("msg");
} else {
String error = "修改失败:" + jsonObject.getStr("msg");
return Result.error(error);
}
}
/**
* 更新温湿度值
*
* @param humidDevice
*/
@Override
public void updateValue(HumidDevice humidDevice){
public void updateValue(HumidDevice humidDevice) {
baseMapper.updateValue(humidDevice);
}
@ -384,7 +399,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
* 启用/停用设备
*/
@Override
public Result<String> delFlagDevice(HumidDevice humidDevice){
public Result<String> delFlagDevice(HumidDevice humidDevice) {
// Map<String, Object> params = new HashMap<>();
// params.put("sn", humidDevice.getSn());
// String responseStr = yiweilianApi.deleteDevice(params);
@ -393,10 +408,10 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
// if(responseCode.equals(0)){
String option = "";
baseMapper.delFlagDevice(humidDevice);
if(humidDevice.getDelFlag().equals("0")){
if (humidDevice.getDelFlag().equals("0")) {
humidDevice.setOptType("activate");
option = "启用成功";
}else{
} else {
humidDevice.setOptType("deactivated");
option = "停用成功";
}
@ -414,15 +429,15 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
* 获取设备配置参数
*/
@Override
public Result getDeviceParameters(HumidDevice humidDevice){
if(humidDevice.getSn()==null||humidDevice.getSn().equals("")){
public Result getDeviceParameters(HumidDevice humidDevice) {
if (humidDevice.getSn() == null || humidDevice.getSn().equals("")) {
return Result.error("请指定设备SN号");
}
Map<String, Object> params = getParmas(0,1,humidDevice);
Map<String, Object> params = getParmas(0, 1, humidDevice);
HumidDevice deviceParameters = getDeviceConfigs(params);
if(deviceParameters!=null){
if (deviceParameters != null) {
return Result.OK(deviceParameters);
}else{
} else {
return Result.error("温湿度设备丢失获取配置错误,请联系管理员");
// return Result.error("获取设备配置参数错误");
}
@ -430,20 +445,21 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
/**
* 调用接口获取设备配置参数
*
* @param map
* @return
*/
private HumidDevice getDeviceConfigs(Map<String,Object> map){
private HumidDevice getDeviceConfigs(Map<String, Object> map) {
HumidDevice dh = new HumidDevice();
String responseStr = yiweilianApi.getDeviceConfigs(map);
JSONObject jsonObject = new JSONObject(responseStr);
Integer responseCode = jsonObject.getInt("code");
if(responseCode.equals(0)){
if (responseCode.equals(0)) {
JSONObject dataObj = jsonObject.getJSONObject("data");
JSONArray dataArr = dataObj.getJSONArray("dataList");
if(dataArr.size()>0){
for(int i=0;i<dataArr.size();i++){
JSONObject json = (JSONObject)dataArr.get(i);
if (dataArr.size() > 0) {
for (int i = 0; i < dataArr.size(); i++) {
JSONObject json = (JSONObject) dataArr.get(i);
String sn = json.getStr("sn");
String deviceName = json.getStr("deviceName");
String deviceTypes = json.getStr("deviceTypes");
@ -481,17 +497,17 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
dh.setIzOnline(isOnline);
break;
}
}else{
} else {
return null;
}
}else{
} else {
return null;
}
return dh;
}
public IPage<HumidDevice> findLogPage(Page<HumidDevice> page, HumidDevice humidDevice){
return baseMapper.findLogPage(page,humidDevice);
public IPage<HumidDevice> findLogPage(Page<HumidDevice> page, HumidDevice humidDevice) {
return baseMapper.findLogPage(page, humidDevice);
}
@Override
@ -499,12 +515,12 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidDevice = baseMapper.selectById(humidDevice.getId());
//如果两个系统编码相同则执行新增或者修改
if(StringUtils.equals(humidDevice.getOldServerUrl(),humidDevice.getDepartServerUrl()) || StringUtils.isEmpty(humidDevice.getOldServerUrl())){
syncImpl.syncElectricitySaveOrUpdate(humidDevice.getOldServerUrl(),humidDevice);
if (StringUtils.equals(humidDevice.getOldServerUrl(), humidDevice.getDepartServerUrl()) || StringUtils.isEmpty(humidDevice.getOldServerUrl())) {
syncImpl.syncElectricitySaveOrUpdate(humidDevice.getOldServerUrl(), humidDevice);
SyncLog nuIotTqElectricitySyncLog = new SyncLog();
nuIotTqElectricitySyncLog.setId(null);
nuIotTqElectricitySyncLog.setMainId(humidDevice.getSn()+"");
nuIotTqElectricitySyncLog.setMainId(humidDevice.getSn() + "");
nuIotTqElectricitySyncLog.setMainName(humidDevice.getSn());
nuIotTqElectricitySyncLog.setSyncType("更新");
nuIotTqElectricitySyncLog.setOrgId(humidDevice.getDepartId());
@ -519,14 +535,14 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
nuIotTqElectricitySyncLogService.save(nuIotTqElectricitySyncLog);
//如果两个系统编码不同则需要执行删除数据后再执行同步
}else{
syncImpl.syncElectricityDel(humidDevice.getOldServerUrl(),humidDevice);
syncImpl.syncElectricitySaveOrUpdate(dataSourceCode,humidDevice);
} else {
syncImpl.syncElectricityDel(humidDevice.getOldServerUrl(), humidDevice);
syncImpl.syncElectricitySaveOrUpdate(dataSourceCode, humidDevice);
SyncLog nuIotTqElectricitySyncLog = new SyncLog();
nuIotTqElectricitySyncLog.setId(null);
nuIotTqElectricitySyncLog.setMainId(humidDevice.getSn()+"");
nuIotTqElectricitySyncLog.setMainId(humidDevice.getSn() + "");
nuIotTqElectricitySyncLog.setMainName(humidDevice.getSn());
nuIotTqElectricitySyncLog.setSyncType("更新");
nuIotTqElectricitySyncLog.setOrgId(humidDevice.getOldDepartId());
@ -543,7 +559,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
SyncLog nuIotTqElectricitySyncLogDel = new SyncLog();
nuIotTqElectricitySyncLogDel.setId(null);
nuIotTqElectricitySyncLogDel.setMainId(humidDevice.getSn()+"");
nuIotTqElectricitySyncLogDel.setMainId(humidDevice.getSn() + "");
nuIotTqElectricitySyncLogDel.setMainName(humidDevice.getSn());
nuIotTqElectricitySyncLogDel.setSyncType("删除");
nuIotTqElectricitySyncLogDel.setOrgId(humidDevice.getOldDepartId());
@ -581,33 +597,33 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
String dataSourceCode = humidList.get("dataSourceCode").toString();
String departId = humidList.get("departId").toString();
String departName = humidList.get("departName").toString();
if(StringUtils.isEmpty(nuId) || StringUtils.isEmpty(dataSourceCode)){
if (StringUtils.isEmpty(nuId) || StringUtils.isEmpty(dataSourceCode)) {
return "1";//参数为空
}
QueryWrapper<HumidDevice> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("nu_id",nuId);
List<HumidDevice> allList =baseMapper.selectList(queryWrapper);
queryWrapper.eq("nu_id", nuId);
List<HumidDevice> allList = baseMapper.selectList(queryWrapper);
//先清空掉原来的数据
for(HumidDevice cameraInfo : allList){
for (HumidDevice cameraInfo : allList) {
baseMapper.updateDepartById(cameraInfo);
}
List<Map<String,Object>> list = (List<Map<String,Object>>) humidList.get("list");
List<Map<String, Object>> list = (List<Map<String, Object>>) humidList.get("list");
for (Map<String, Object> map : list) {
HumidDevice humidInfo = new HumidDevice();
String iotId = map.get("id").toString();
if(StringUtils.isEmpty(iotId)){
if (StringUtils.isEmpty(iotId)) {
return "2";//设备ID为空;
}
humidInfo = baseMapper.selectById(iotId);
String oldNuId = humidInfo.getNuId();
//判断如果新的机构和老的机构不相同则把老的机构删除
String oldDataSourceCode = (String) map.get("oldServerUrl");
if(!StringUtils.equals(oldDataSourceCode,dataSourceCode) && StringUtils.isNotBlank(oldDataSourceCode)){
syncImpl.syncElectricityDel(humidInfo.getOldServerUrl(),humidInfo);
if (!StringUtils.equals(oldDataSourceCode, dataSourceCode) && StringUtils.isNotBlank(oldDataSourceCode)) {
syncImpl.syncElectricityDel(humidInfo.getOldServerUrl(), humidInfo);
SyncLog nuIotTqElectricitySyncLogDel = new SyncLog();
nuIotTqElectricitySyncLogDel.setId(null);
@ -633,7 +649,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidInfo.setDepartName(departName);
humidInfo.setDepartServerUrl(dataSourceCode);
//如果两个系统编码相同则执行新增或者修改
syncImpl.syncElectricitySaveOrUpdate(dataSourceCode,humidInfo);
syncImpl.syncElectricitySaveOrUpdate(dataSourceCode, humidInfo);
SyncLog nuIotTqElectricitySyncLog = new SyncLog();
nuIotTqElectricitySyncLog.setId(null);
@ -678,14 +694,14 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
//业务系统保存或者修改命令
@DS("#dataSourceCode")
public boolean syncElectricitySaveOrUpdate(String dataSourceCode,HumidDevice humidDevice) {
public boolean syncElectricitySaveOrUpdate(String dataSourceCode, HumidDevice humidDevice) {
try {
QueryWrapper<HumidDevice> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("sn",humidDevice.getSn());
queryWrapper.eq("sn", humidDevice.getSn());
HumidDevice oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
if(oldParam == null){
if (oldParam == null) {
baseMapper.insert(humidDevice);
}else{
} else {
baseMapper.updateById(humidDevice);
}
} catch (Exception e) {
@ -695,39 +711,40 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
}
@Override
public IPage<HumidDevice> findSourcePage(Page<HumidDevice> page, HumidDevice humidDevice){
return baseMapper.findSourcePage(page,humidDevice);
public IPage<HumidDevice> findSourcePage(Page<HumidDevice> page, HumidDevice humidDevice) {
return baseMapper.findSourcePage(page, humidDevice);
}
@Override
public List<HumidDevice> findDepartList(HumidDevice humidDevice){
public List<HumidDevice> findDepartList(HumidDevice humidDevice) {
return baseMapper.findDepartList(humidDevice);
}
@Override
public List<HumidDevice> findNuList(HumidDevice humidDevice){
public List<HumidDevice> findNuList(HumidDevice humidDevice) {
return baseMapper.findNuList(humidDevice);
}
@Override
public IPage<HumidDevice> findBusinessPage(Page<HumidDevice> page, HumidDevice humidDevice){
return baseMapper.findBusinessPage(page,humidDevice);
public IPage<HumidDevice> findBusinessPage(Page<HumidDevice> page, HumidDevice humidDevice) {
return baseMapper.findBusinessPage(page, humidDevice);
}
/**
* 以设备维度同步温湿度到业务
*
* @param list
* @return
*/
@Override
public String syncDevices(List<HumidDevice> list){
public String syncDevices(List<HumidDevice> list) {
for (HumidDevice humidDevice : list) {
HumidDevice humidInfo = baseMapper.getHumidInfo(humidDevice);
String actionType = humidDevice.getActionType();//操作类型
if(actionType.equals("添加")){
if (actionType.equals("添加")) {
String orgCode = humidDevice.getOrgCode();
if(!StringUtils.isNotBlank(orgCode)){
if (!StringUtils.isNotBlank(orgCode)) {
return "1";
}
humidInfo.setSyncType("1");
@ -740,7 +757,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidInfo.setOldDepartId(null);
humidInfo.setOldDepartName(null);
boolean flag = syncImpl.syncDevice(orgCode,"更新",humidInfo);
boolean flag = syncImpl.syncDevice(orgCode, "更新", humidInfo);
SyncLog syncLog = new SyncLog();
syncLog.setId(null);
syncLog.setMainId(humidDevice.getSn());
@ -749,23 +766,23 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
syncLog.setNewOrgId(humidDevice.getDepartId());
syncLog.setNewOrgCode(orgCode);
syncLog.setNewOrgName(humidDevice.getDepartName());
if(flag){
if (flag) {
syncLog.setStatus("成功");
}else{
} else {
syncLog.setStatus("失败");
}
syncLog.setContent("添加业务机构温湿度计数据");
syncLog.setServerType("温湿度计");
syncLog.setNewNuId(humidDevice.getNuId());
nuIotTqElectricitySyncLogService.save(syncLog);
if(flag){
if (flag) {
//更新同步
baseMapper.updateSync(humidInfo);
}
}
if(actionType.equals("删除")){
if (actionType.equals("删除")) {
String oldOrgCode = humidDevice.getOldOrgCode();
if(!StringUtils.isNotBlank(oldOrgCode)){
if (!StringUtils.isNotBlank(oldOrgCode)) {
return "1";
}
humidInfo.setSyncType("1");
@ -778,7 +795,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidInfo.setOldDepartId(humidDevice.getOldDepartId());
humidInfo.setOldDepartName(humidDevice.getOldDepartName());
boolean flag = syncImpl.syncDevice(oldOrgCode,"删除",humidInfo);
boolean flag = syncImpl.syncDevice(oldOrgCode, "删除", humidInfo);
SyncLog syncLog = new SyncLog();
syncLog.setId(null);
syncLog.setMainId(humidDevice.getSn());
@ -787,24 +804,24 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
syncLog.setOrgId(humidDevice.getOldDepartId());
syncLog.setOrgCode(oldOrgCode);
syncLog.setOrgName(humidDevice.getOldDepartName());
if(flag){
if (flag) {
syncLog.setStatus("成功");
}else{
} else {
syncLog.setStatus("失败");
}
syncLog.setContent("删除原来业务机构温湿度计数据");
syncLog.setServerType("温湿度计");
syncLog.setNuId(humidDevice.getNuId());
nuIotTqElectricitySyncLogService.save(syncLog);
if(flag){
if (flag) {
//更新同步
baseMapper.updateSync(humidInfo);
}
}
if(actionType.equals("调整")){
if (actionType.equals("调整")) {
String oldNuId = humidInfo.getNuId();//原护理单元ID
String nuId = humidDevice.getNuId();//新护理单元ID
if(!oldNuId.equals(nuId)){
if (!oldNuId.equals(nuId)) {
String oldOrgCode = humidDevice.getOldOrgCode();
humidInfo.setNuId(humidDevice.getNuId());
humidInfo.setNuName(humidDevice.getNuName());
@ -814,7 +831,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidInfo.setOldServerUrl(null);
humidInfo.setOldDepartId(null);
humidInfo.setOldDepartName(null);
boolean flag = syncImpl.syncDevice(oldOrgCode,"更新",humidInfo);
boolean flag = syncImpl.syncDevice(oldOrgCode, "更新", humidInfo);
SyncLog syncLog = new SyncLog();
syncLog.setId(null);
syncLog.setMainId(humidDevice.getSn());
@ -823,9 +840,9 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
syncLog.setNewOrgId(humidDevice.getOldDepartId());
syncLog.setNewOrgCode(oldOrgCode);
syncLog.setNewOrgName(humidDevice.getOldDepartName());
if(flag){
if (flag) {
syncLog.setStatus("成功");
}else{
} else {
syncLog.setStatus("失败");
}
syncLog.setContent("调整业务机构温湿度计数据");
@ -833,25 +850,25 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
syncLog.setNewNuId(nuId);
syncLog.setNuId(oldNuId);
nuIotTqElectricitySyncLogService.save(syncLog);
if(flag){
if (flag) {
//更新同步
baseMapper.updateSync(humidInfo);
}
}
}
if(actionType.equals("变更")){
if (actionType.equals("变更")) {
String oldOrgCode = humidDevice.getOldOrgCode();
String orgCode = humidDevice.getOrgCode();
String oldNuId = humidInfo.getNuId();//原护理单元ID
if(!StringUtils.isNotBlank(oldOrgCode)){
if (!StringUtils.isNotBlank(oldOrgCode)) {
return "1";
}
if(!StringUtils.isNotBlank(orgCode)){
if (!StringUtils.isNotBlank(orgCode)) {
return "1";
}
boolean flag = syncImpl.syncDevice(oldOrgCode,"删除",humidInfo);
if(!flag){
boolean flag = syncImpl.syncDevice(oldOrgCode, "删除", humidInfo);
if (!flag) {
SyncLog syncLog = new SyncLog();
syncLog.setId(null);
syncLog.setMainId(humidDevice.getSn());
@ -867,7 +884,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
nuIotTqElectricitySyncLogService.save(syncLog);
}
boolean flag2 = false;
if(flag){
if (flag) {
humidInfo.setSyncType("1");
humidInfo.setNuId(humidDevice.getNuId());
humidInfo.setNuName(humidDevice.getNuName());
@ -877,7 +894,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidInfo.setOldServerUrl(null);
humidInfo.setOldDepartId(null);
humidInfo.setOldDepartName(null);
flag2 = syncImpl.syncDevice(orgCode,"更新",humidInfo);
flag2 = syncImpl.syncDevice(orgCode, "更新", humidInfo);
SyncLog syncLog = new SyncLog();
syncLog.setId(null);
@ -890,9 +907,9 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
syncLog.setNewOrgId(humidDevice.getDepartId());
syncLog.setNewOrgCode(orgCode);
syncLog.setNewOrgName(humidDevice.getDepartName());
if(flag2){
if (flag2) {
syncLog.setStatus("成功");
}else{
} else {
syncLog.setStatus("失败");
}
syncLog.setContent("更新业务机构温湿度计数据");
@ -901,7 +918,7 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
syncLog.setNuId(oldNuId);
nuIotTqElectricitySyncLogService.save(syncLog);
}
if(flag2){
if (flag2) {
//更新同步
humidInfo.setSyncType("1");
humidInfo.setNuId(humidDevice.getNuId());
@ -913,8 +930,8 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
humidInfo.setOldDepartId(humidDevice.getOldDepartId());
humidInfo.setOldDepartName(humidDevice.getOldDepartName());
baseMapper.updateSync(humidInfo);
}else{
if(flag){
} else {
if (flag) {
//更新同步
humidInfo.setSyncType("1");
humidInfo.setNuId(null);
@ -935,20 +952,20 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
//业务系统保存或者修改命令
@DS("#dataSourceCode")
public boolean syncDevice(String dataSourceCode,String type,HumidDevice humidDevice) {
public boolean syncDevice(String dataSourceCode, String type, HumidDevice humidDevice) {
try {
QueryWrapper<HumidDevice> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("sn",humidDevice.getSn());
queryWrapper.eq("sn", humidDevice.getSn());
HumidDevice oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
if(type.equals("更新")){
if(oldParam == null){
if (type.equals("更新")) {
if (oldParam == null) {
baseMapper.insert(humidDevice);
}else{
} else {
humidDevice.setId(oldParam.getId());
baseMapper.updateById(humidDevice);
}
}
if(type.equals("删除")){
if (type.equals("删除")) {
baseMapper.deleteById(oldParam);
}
} catch (Exception e) {
@ -959,10 +976,10 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
}
@Override
public IPage<HumidDevice> findSyncLogPage(Page<HumidDevice> page, HumidDevice humidDevice){
IPage<HumidDevice> mainPage = baseMapper.findSyncLogMainPage(page,humidDevice);
public IPage<HumidDevice> findSyncLogPage(Page<HumidDevice> page, HumidDevice humidDevice) {
IPage<HumidDevice> mainPage = baseMapper.findSyncLogMainPage(page, humidDevice);
List<HumidDevice> records = mainPage.getRecords();
for(int i=0;i<records.size();i++){
for (int i = 0; i < records.size(); i++) {
HumidDevice record = records.get(i);
List<HumidDevice> seedList = baseMapper.findSyncLogSeedList(record);
record.setSeedList(seedList);
@ -971,8 +988,8 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
}
@Override
public IPage<HumidDevice> findNuSyncPage(Page<HumidDevice> page, HumidDevice humidDevice){
return baseMapper.findNuSyncPage(page,humidDevice);
public IPage<HumidDevice> findNuSyncPage(Page<HumidDevice> page, HumidDevice humidDevice) {
return baseMapper.findNuSyncPage(page, humidDevice);
}
@Override
@ -983,10 +1000,11 @@ public class HumidDeviceServiceImpl extends ServiceImpl<HumidDeviceMapper, Humid
@Override
public void weixiu(HumidDevice humidDevice) {
baseMapper.updateById(humidDevice);
syncImpl.syncWeixiu(humidDevice.getDepartServerUrl(),humidDevice);
syncImpl.syncWeixiu(humidDevice.getDepartServerUrl(), humidDevice);
}
@DS("#dataSourceCode")
public void syncWeixiu(String dataSourceCode, HumidDevice humidDevice){
public void syncWeixiu(String dataSourceCode, HumidDevice humidDevice) {
baseMapper.updateById(humidDevice);
}