水表设备同步
This commit is contained in:
parent
aee5a8cec0
commit
d89db5bd19
|
@ -210,4 +210,19 @@ public class WaterMeterController extends JeecgController<WaterMeter, IWaterMete
|
|||
IPage<WaterMeter> pageList = service.findSyncLogPage(page, waterMeter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定完摄像头的区域列表查询
|
||||
*
|
||||
* @param waterMeter
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/nuSyncList")
|
||||
public Result<IPage<WaterMeter>> nuSyncList(WaterMeter waterMeter,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
|
||||
Page<WaterMeter> page = new Page<WaterMeter>(pageNo, pageSize);
|
||||
IPage<WaterMeter> pageList = service.findNuSyncPage(page, waterMeter);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,6 +74,10 @@ public class WaterMeter implements Serializable {
|
|||
|
||||
private String nuId;//护理单元ID
|
||||
private String nuName;//护理单元
|
||||
@Dict(dicCode = "nu_type")
|
||||
@TableField(exist = false)
|
||||
private String areaFlag;//区域标签
|
||||
private Integer deviceNum;//已绑定设备数
|
||||
private String departId;//机构ID
|
||||
private String departName;//机构名称
|
||||
private String departServerUrl;//机构服务地址
|
||||
|
@ -87,13 +91,12 @@ public class WaterMeter implements Serializable {
|
|||
private String checkType;
|
||||
@TableField(exist = false)
|
||||
private String oldOrgCode;//原机构编码
|
||||
@Dict(dicCode = "nu_type")
|
||||
@TableField(exist = false)
|
||||
private String areaFlag;//区域标签
|
||||
@TableField(exist = false)
|
||||
private String viewType;//选择,未选择 用于设备同步功能
|
||||
@TableField(exist = false)
|
||||
private String dataType;//数据类型
|
||||
@TableField(exist = false)
|
||||
private String actionType;//操作类型
|
||||
|
||||
@TableField(exist = false)
|
||||
private String sn;//设备号
|
||||
|
@ -110,6 +113,4 @@ public class WaterMeter implements Serializable {
|
|||
@TableField(exist = false)
|
||||
private List<WaterMeter> seedList;//子列表
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -21,6 +21,8 @@ public interface WaterMeterMapper extends BaseMapper<WaterMeter> {
|
|||
|
||||
void updateDepartById(WaterMeter waterInfo);
|
||||
|
||||
void updateSync(WaterMeter waterInfo);
|
||||
|
||||
IPage<WaterMeter> findSourcePage(Page<WaterMeter> page, @Param("params") WaterMeter waterMeter);
|
||||
List<WaterMeter> findDepartList(WaterMeter waterMeter);
|
||||
List<WaterMeter> findNuList(WaterMeter waterMeter);
|
||||
|
@ -28,4 +30,6 @@ public interface WaterMeterMapper extends BaseMapper<WaterMeter> {
|
|||
|
||||
IPage<WaterMeter> findSyncLogMainPage(Page<WaterMeter> page, @Param("params") WaterMeter waterMeter);
|
||||
List<WaterMeter> findSyncLogSeedList(WaterMeter waterMeter);
|
||||
|
||||
IPage<WaterMeter> findNuSyncPage(Page<WaterMeter> page, @Param("params") WaterMeter waterMeter);
|
||||
}
|
||||
|
|
|
@ -82,10 +82,17 @@
|
|||
relay_state as relayState,
|
||||
battery_state as batteryState,
|
||||
read_time as readTime,
|
||||
remark
|
||||
remark,
|
||||
nu_id as nuId,
|
||||
nu_name as nuName,
|
||||
depart_id as departId,
|
||||
depart_name as departName,
|
||||
depart_server_url as departServerUrl,
|
||||
old_server_url as oldServerUrl,
|
||||
old_depart_id as oldDepartId,
|
||||
old_depart_name as oldDepartName
|
||||
from nu_iot_tq_water_meter
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
where address = #{address}
|
||||
</select>
|
||||
|
||||
<insert id="insertWater" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
|
@ -114,8 +121,7 @@
|
|||
battery_state = #{batteryState},
|
||||
remark = #{remark},
|
||||
update_time = now()
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
where address = #{address}
|
||||
</update>
|
||||
|
||||
<update id="updateValue" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
|
@ -124,8 +130,7 @@
|
|||
water_value = #{waterValue},
|
||||
read_time = #{readTime},
|
||||
update_time = now()
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
where address = #{address}
|
||||
</update>
|
||||
|
||||
<update id="updateRelayState" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
|
@ -133,13 +138,28 @@
|
|||
set
|
||||
relay_state = #{relayState},
|
||||
update_time = now()
|
||||
where cid = #{cid}
|
||||
and address = #{address}
|
||||
where address = #{address}
|
||||
</update>
|
||||
|
||||
<update id="updateDepartById" parameterType="com.nu.modules.tq.water.entity.WaterMeter" >
|
||||
update nu_iot_tq_water_meter set nu_id = null,nu_name = null,depart_id = null,depart_name = null,depart_server_url=null where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateSync" parameterType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
update nu_iot_tq_water_meter
|
||||
set
|
||||
sync_type = #{syncType},
|
||||
nu_id = #{nuId},
|
||||
nu_name = #{nuName},
|
||||
depart_server_url = #{departServerUrl},
|
||||
depart_id = #{departId},
|
||||
depart_name = #{departName},
|
||||
old_server_url = #{oldServerUrl},
|
||||
old_depart_id = #{oldDepartId},
|
||||
old_depart_name = #{oldDepartName}
|
||||
where address = #{address}
|
||||
</update>
|
||||
|
||||
<select id="findSourcePage" parameterType="com.nu.modules.tq.water.entity.WaterMeter" resultType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
select
|
||||
a.id,
|
||||
|
@ -181,6 +201,9 @@
|
|||
<if test="params.departId != null and params.departId != ''">
|
||||
AND a.depart_id = #{params.departId}
|
||||
</if>
|
||||
<if test="params.status != null and params.status != ''">
|
||||
AND c.del_flag = #{params.status}
|
||||
</if>
|
||||
<if test="params.departServerUrl != null and params.departServerUrl != ''">
|
||||
AND a.depart_server_url != #{params.departServerUrl}
|
||||
</if>
|
||||
|
@ -259,6 +282,9 @@
|
|||
<if test="params.departId != null and params.departId != ''">
|
||||
AND a.depart_id = #{params.departId}
|
||||
</if>
|
||||
<if test="params.status != null and params.status != ''">
|
||||
AND c.del_flag = #{params.status}
|
||||
</if>
|
||||
order by a.nu_id
|
||||
</select>
|
||||
|
||||
|
@ -298,4 +324,20 @@
|
|||
order by createTime desc
|
||||
</select>
|
||||
|
||||
<select id="findNuSyncPage" parameterType="com.nu.modules.tq.water.entity.WaterMeter" resultType="com.nu.modules.tq.water.entity.WaterMeter">
|
||||
select
|
||||
a.nu_id as nuId,
|
||||
a.nu_name as nuName,
|
||||
a.area_flag as areaFlag,
|
||||
(select count(*) from nu_iot_tq_water_meter m where a.nu_id = m.nu_id) as deviceNum
|
||||
from nu_base_info a
|
||||
inner join nu_iot_tplink_camera b on a.nu_id = b.nu_id
|
||||
where a.del_flag = '0'
|
||||
and a.iz_sync = '0'
|
||||
<if test="params.orgCode != null and params.orgCode != ''">
|
||||
and a.sys_org_code = #{params.orgCode}
|
||||
</if>
|
||||
order by a.nu_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -32,4 +32,5 @@ public interface IWaterMeterService extends IService<WaterMeter> {
|
|||
IPage<WaterMeter> findBusinessPage(Page<WaterMeter> page,WaterMeter waterMeter);
|
||||
String syncDevices(List<WaterMeter> list);
|
||||
IPage<WaterMeter> findSyncLogPage(Page<WaterMeter> page,WaterMeter waterMeter);
|
||||
IPage<WaterMeter> findNuSyncPage(Page<WaterMeter> page,WaterMeter waterMeter);
|
||||
}
|
||||
|
|
|
@ -714,9 +714,240 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
*/
|
||||
@Override
|
||||
public String syncDevices(List<WaterMeter> list){
|
||||
|
||||
for (WaterMeter waterMeter : list) {
|
||||
WaterMeter waterInfo = baseMapper.getWaterMeter(waterMeter);
|
||||
String actionType = waterMeter.getActionType();//操作类型
|
||||
if(actionType.equals("添加")){
|
||||
String orgCode = waterMeter.getOrgCode();
|
||||
if(!StringUtils.isNotBlank(orgCode)){
|
||||
return "1";
|
||||
}
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(waterMeter.getNuId());
|
||||
waterInfo.setNuName(waterMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(orgCode);
|
||||
waterInfo.setDepartId(waterMeter.getDepartId());
|
||||
waterInfo.setDepartName(waterMeter.getDepartName());
|
||||
waterInfo.setOldServerUrl(null);
|
||||
waterInfo.setOldDepartId(null);
|
||||
waterInfo.setOldDepartName(null);
|
||||
|
||||
boolean flag = syncImpl.syncDevice(orgCode,"更新",waterInfo);
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(waterMeter.getAddress());
|
||||
syncLog.setMainName(waterMeter.getAddress());
|
||||
syncLog.setSyncType("添加");
|
||||
syncLog.setNewOrgId(waterMeter.getDepartId());
|
||||
syncLog.setNewOrgCode(orgCode);
|
||||
syncLog.setNewOrgName(waterMeter.getDepartName());
|
||||
if(flag){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("添加业务机构水表数据");
|
||||
syncLog.setServerType("水表");
|
||||
syncLog.setNewNuId(waterMeter.getNuId());
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
if(flag){
|
||||
//更新同步
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
if(actionType.equals("删除")){
|
||||
String oldOrgCode = waterMeter.getOldOrgCode();
|
||||
if(!StringUtils.isNotBlank(oldOrgCode)){
|
||||
return "1";
|
||||
}
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(null);
|
||||
waterInfo.setNuName(null);
|
||||
waterInfo.setDepartServerUrl(null);
|
||||
waterInfo.setDepartId(null);
|
||||
waterInfo.setDepartName(null);
|
||||
waterInfo.setOldServerUrl(oldOrgCode);
|
||||
waterInfo.setOldDepartId(waterMeter.getOldDepartId());
|
||||
waterInfo.setOldDepartName(waterMeter.getOldDepartName());
|
||||
|
||||
boolean flag = syncImpl.syncDevice(oldOrgCode,"删除",waterInfo);
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(waterMeter.getAddress());
|
||||
syncLog.setMainName(waterMeter.getAddress());
|
||||
syncLog.setSyncType("删除");
|
||||
syncLog.setOrgId(waterMeter.getOldDepartId());
|
||||
syncLog.setOrgCode(oldOrgCode);
|
||||
syncLog.setOrgName(waterMeter.getOldDepartName());
|
||||
if(flag){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("删除原来业务机构水表数据");
|
||||
syncLog.setServerType("水表");
|
||||
syncLog.setNuId(waterMeter.getNuId());
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
if(flag){
|
||||
//更新同步
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
if(actionType.equals("调整")){
|
||||
String oldNuId = waterInfo.getNuId();//原护理单元ID
|
||||
String nuId = waterMeter.getNuId();//新护理单元ID
|
||||
if(!oldNuId.equals(nuId)){
|
||||
String oldOrgCode = waterMeter.getOldOrgCode();
|
||||
waterInfo.setNuId(waterMeter.getNuId());
|
||||
waterInfo.setNuName(waterMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(oldOrgCode);
|
||||
waterInfo.setDepartId(waterMeter.getOldDepartId());
|
||||
waterInfo.setDepartName(waterMeter.getOldDepartName());
|
||||
waterInfo.setOldServerUrl(null);
|
||||
waterInfo.setOldDepartId(null);
|
||||
waterInfo.setOldDepartName(null);
|
||||
boolean flag = syncImpl.syncDevice(oldOrgCode,"更新",waterInfo);
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(waterMeter.getAddress());
|
||||
syncLog.setMainName(waterMeter.getAddress());
|
||||
syncLog.setSyncType("调整");
|
||||
syncLog.setNewOrgId(waterMeter.getOldDepartId());
|
||||
syncLog.setNewOrgCode(oldOrgCode);
|
||||
syncLog.setNewOrgName(waterMeter.getOldDepartName());
|
||||
if(flag){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("调整业务机构水表数据");
|
||||
syncLog.setServerType("水表");
|
||||
syncLog.setNewNuId(nuId);
|
||||
syncLog.setNuId(oldNuId);
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
if(flag){
|
||||
//更新同步
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(actionType.equals("变更")){
|
||||
String oldOrgCode = waterMeter.getOldOrgCode();
|
||||
String orgCode = waterMeter.getOrgCode();
|
||||
String oldNuId = waterInfo.getNuId();//原护理单元ID
|
||||
if(!StringUtils.isNotBlank(oldOrgCode)){
|
||||
return "1";
|
||||
}
|
||||
if(!StringUtils.isNotBlank(orgCode)){
|
||||
return "1";
|
||||
}
|
||||
|
||||
boolean flag = syncImpl.syncDevice(oldOrgCode,"删除",waterInfo);
|
||||
if(!flag){
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(waterMeter.getAddress());
|
||||
syncLog.setMainName(waterMeter.getAddress());
|
||||
syncLog.setSyncType("删除");
|
||||
syncLog.setOrgId(waterMeter.getOldDepartId());
|
||||
syncLog.setOrgCode(oldOrgCode);
|
||||
syncLog.setOrgName(waterMeter.getOldDepartName());
|
||||
syncLog.setStatus("失败");
|
||||
syncLog.setContent("删除业务机构水表数据");
|
||||
syncLog.setServerType("水表");
|
||||
syncLog.setNuId(oldNuId);
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
}
|
||||
boolean flag2 = false;
|
||||
if(flag){
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(waterMeter.getNuId());
|
||||
waterInfo.setNuName(waterMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(orgCode);
|
||||
waterInfo.setDepartId(waterMeter.getDepartId());
|
||||
waterInfo.setDepartName(waterMeter.getDepartName());
|
||||
flag2 = syncImpl.syncDevice(orgCode,"更新",waterInfo);
|
||||
|
||||
SyncLog syncLog = new SyncLog();
|
||||
syncLog.setId(null);
|
||||
syncLog.setMainId(waterMeter.getAddress());
|
||||
syncLog.setMainName(waterMeter.getAddress());
|
||||
syncLog.setSyncType("更新");
|
||||
syncLog.setOrgId(waterMeter.getOldDepartId());
|
||||
syncLog.setOrgCode(oldOrgCode);
|
||||
syncLog.setOrgName(waterMeter.getOldDepartName());
|
||||
syncLog.setNewOrgId(waterMeter.getDepartId());
|
||||
syncLog.setNewOrgCode(orgCode);
|
||||
syncLog.setNewOrgName(waterMeter.getDepartName());
|
||||
if(flag2){
|
||||
syncLog.setStatus("成功");
|
||||
}else{
|
||||
syncLog.setStatus("失败");
|
||||
}
|
||||
syncLog.setContent("更新业务机构水表数据");
|
||||
syncLog.setServerType("水表");
|
||||
syncLog.setNewNuId(waterInfo.getNuId());
|
||||
syncLog.setNuId(oldNuId);
|
||||
nuIotTqElectricitySyncLogService.save(syncLog);
|
||||
}
|
||||
if(flag2){
|
||||
//更新同步
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(waterMeter.getNuId());
|
||||
waterInfo.setNuName(waterMeter.getNuName());
|
||||
waterInfo.setDepartServerUrl(orgCode);
|
||||
waterInfo.setDepartId(waterMeter.getDepartId());
|
||||
waterInfo.setDepartName(waterMeter.getDepartName());
|
||||
waterInfo.setOldServerUrl(oldOrgCode);
|
||||
waterInfo.setOldDepartId(waterMeter.getOldDepartId());
|
||||
waterInfo.setOldDepartName(waterMeter.getOldDepartName());
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}else{
|
||||
if(flag){
|
||||
//更新同步
|
||||
waterInfo.setSyncType("1");
|
||||
waterInfo.setNuId(null);
|
||||
waterInfo.setNuName(null);
|
||||
waterInfo.setDepartServerUrl(null);
|
||||
waterInfo.setDepartId(null);
|
||||
waterInfo.setDepartName(null);
|
||||
waterInfo.setOldServerUrl(oldOrgCode);
|
||||
waterInfo.setOldDepartId(waterMeter.getOldDepartId());
|
||||
waterInfo.setOldDepartName(waterMeter.getOldDepartName());
|
||||
baseMapper.updateSync(waterInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "0";
|
||||
}
|
||||
|
||||
//业务系统保存或者修改命令
|
||||
@DS("#dataSourceCode")
|
||||
public boolean syncDevice(String dataSourceCode,String type,WaterMeter waterMeter) {
|
||||
try {
|
||||
QueryWrapper<WaterMeter> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("address",waterMeter.getAddress());
|
||||
WaterMeter oldParam = baseMapper.selectOne(queryWrapper);//查询数据库中该表号数据原始数据
|
||||
if(type.equals("更新")){
|
||||
if(oldParam == null){
|
||||
baseMapper.insert(waterMeter);
|
||||
}else{
|
||||
waterMeter.setId(oldParam.getId());
|
||||
baseMapper.updateById(waterMeter);
|
||||
}
|
||||
}
|
||||
if(type.equals("删除")){
|
||||
baseMapper.deleteById(oldParam);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<WaterMeter> findSyncLogPage(Page<WaterMeter> page, WaterMeter waterMeter){
|
||||
IPage<WaterMeter> mainPage = baseMapper.findSyncLogMainPage(page,waterMeter);
|
||||
|
@ -728,4 +959,10 @@ public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMe
|
|||
}
|
||||
return mainPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<WaterMeter> findNuSyncPage(Page<WaterMeter> page, WaterMeter waterMeter){
|
||||
return baseMapper.findNuSyncPage(page,waterMeter);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue